Basistabelle automatisch kopieren durch EIngabe

Hallo Zusammen,

ich suche eine VBA Lösung für Excel 2007 um ein vorgefertigtes Tabellenblatt (nennen wir es BASIS) auf Grund von Eingaben (können mehrere sein, bis zu 20) im Tabellenblatt „Allgemeine Daten“ automatisch angelegt wird, mit dem Layout des BASIS Tabellenblatts. Bei 20 Eingaben sollen somit automatisch die Tabellenblätter mit dem Eingabenamen im Tabellenreiter unten erstellt werden.

Hat jemand eine Lösung von Euch hierfür ?

Vielen Dank

ich suche eine VBA Lösung für Excel 2007 um ein vorgefertigtes
Tabellenblatt (nennen wir es BASIS) auf Grund von Eingaben
(können mehrere sein, bis zu 20) im Tabellenblatt „Allgemeine
Daten“ automatisch angelegt wird, mit dem Layout des BASIS
Tabellenblatts. Bei 20 Eingaben sollen somit automatisch die
Tabellenblätter mit dem Eingabenamen im Tabellenreiter unten
erstellt werden.

Hallo Rossi,

mit A2:A21 legst du fest welche Zellen „überwacht“ werden.
in das Modul vom Blatt „Allgemeine Daten“

Option Explicit

Private Sub Worksheet\_Change(ByVal Target As Range)
Set Target = Intersect(Target, Range(" **A2:A21**"))
If Target Is Nothing Then Exit Sub
Call Erstelle(Target)
End Sub

in ein Standardmodul, Modul1 o.ä

Option Explicit

Sub Erstelle(ByRef Target As Range)
Dim Zelle As Range
On Error GoTo hell
For Each Zelle In Target
 If Zelle.Value "" Then
 If Not Vorhanden(Zelle.Value) = True Then
 Worksheets("Basis").Copy after:=Worksheets(Worksheets.Count)
 ActiveSheet.Name = Zelle.Value
 End If
 End If
Next Zelle
Worksheets("Allgemeine Daten").Activate
hell:
If Err.Number 0 Then
 MsgBox Err.Number & vbCrLf & Err.Description
 Resume Next
End If
End Sub

Function Vorhanden(strWert As String) As Boolean
Dim wks As Worksheet
For Each wks In Worksheets
 If wks.Name = strWert Then
 Vorhanden = True
 Exit For
 End If
Next wks
End Function

Gruß
Reinhard

Hallo Reinhard,

Vielen Dank für deine Unterstützung. War leider krank und konnte erst Heute Deine VBA in Einsatz bringen. Hat alles super funktioniert. Wie das so ist, tauchen im Einsatz weitere Dinge auf, die man zu Anfangs nicht bedacht hat. Vielleicht kannst Du mir da nochmal helfen.

Im Tabellenblatt werden die Tabellennamen die bei Bestätigen der Eingabe automatisch erstellt werden, in eine Tabelle geschrieben, um diese immer um die benötigeten Zeilen zu erweitern.

  1. Kann man die Überwachung der Zellen auch automatisch um diese Zeile erweitern ? Momentan ist der Bereich fixiert von A2:A21.

  2. Des weiteren sollte die VBA den Tabellennamen der kopierten Basistabelle automatisch ändern, wenn man diese in dem überwachten Bereich auch ändert, ohne das ein neues Tabellenblatt angelegt wird.

  3. In diesem Zusammenhang sollte dann auch beim löschen des Namens im überwachten Bereich das zugehörige Tabellenblatt gelöscht werden.

  4. Im neu angelegten Tabellenblatt soll in Zelle A2 den Namen anzeigen, der die Kopierung in dem überwachten Bereich ausgelöst hat.

Sind diese Punkte möglich in die VBA zu integrieren ? Leider bin ich „noch“ Laie auf dem Gebiet der VBA. Arbeite zur Zeit ein Buch für Einsteiger durch um selbst bei der VBA den Durchblick zu erhalten.

Wäre echt super wenn Du mir nochmal zur Seite stehen würdest.

Vielen Dank

Gruss Marco