Liebes Excelforum,
ich knobel seid einer Weile an einem VBA-Problem und komme nicht mehr weiter. Ich habe ein Makro erstellt, um automatisch benannte Tabellenblätter aus einer Liste zu generieren. Das sieht momentan so aus:
Sub Tabellenblaetter_ERSTMALIG_erstellen()
'** Neues benanntes Tabellenblatt einf¸gen
Dim i As Long, ws As Worksheet, blatt As Object, boVorhanden As Boolean
Application.ScreenUpdating = False
With Worksheets("Tabellenblatt")
For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
For Each ws In ThisWorkbook.Worksheets
If ws.Name = .Cells(i, "B") & " " & .Cells(i, "A") Then
boVorhanden = True
End If
Next ws
If Not boVorhanden Then
Worksheets("Vorlage").Copy after:=Worksheets(Sheets.Count)
With ActiveSheet
.Name = Worksheets("Tabellenblatt").Cells(i, "B") & " " _
& Worksheets("Tabellenblatt").Cells(i, "A")
.Cells(4, "E").FormulaLocal = "=Tabellenblatt!B" & i & "&"" ""&Tabellenblatt!A" & i
.Cells(16, "F").FormulaLocal = "='Tabellenblatt'!C" & i
End With
boVorhanden = False
End If
Next i
End With
End Sub
Mein Problem ist, dass die Tabelle laufend ergänzt wird und entsprechend neue Tabellenblätter erstellt werden sollten. Ich kriege es aber nicht hin, das Makro entsprechend anzupassen, dass dann die neuen Einträge identifiziert werden und nur für sie ein neues Tabellenblatt erstellt wird. Meine erste Idee war es, eine neue Tabelle für "Neuzugänge" anzulegen und die Einträge dann nach dem Erstellen in die endgültige Tabelle zu übertragen. Gibt es eine schönere Lösung dafür, die es auch ermöglichen würde, Daten aus der ursprünglichen Tabelle direkt zu übertragen (wie im Makro vorgesehen)?
Vielen Dank schon einmal im Voraus und viele Grüße
Lila