Hallo SnowWhite,
lege das Tabellenblatt Test an und kopiere die beiden folgenden Makros in ein allgemeines Modul:
Sub test_ausblenden()
ThisWorkbook.Worksheets("Test").Visible = xlVeryHidden
End Sub
Sub test_einblenden()
ThisWorkbook.Worksheets("Test").Visible = True
End Sub
Führe dann das Makro test_ausblenden aus. Natürlich kannst du auch nur das Ausblenden-Makro in die Datei schreiben und nach dem Ausblenden löschen. Das ausgeblendete Tabellenblatt taucht nicht bei ausgeblendete Tabellenblätter auf (über die rechte Maustaste) und kann nur per VBA wieder eingeblendet werden.
Ändere das Makro für das Anlegen der neuen Blätter wie folgt:
Sub Anlegen()
Dim Wiederholungen As Long
Dim wksL As Worksheet
Set wksL = Worksheets("urliste")
Application.ScreenUpdating = False
wksL.Activate
For Wiederholungen = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(Wiederholungen, 1) <> vbNullString Then
'Name des neu angelegten Tabellenblatts wird in versteckte Tabelle geschrieben
Worksheets("Test").Cells(Wiederholungen, 1) = wksL.Cells(Wiederholungen, 1)
Worksheets("Leer").Copy After:=Sheets(Sheets.Count) 'Tabellenblatt "Leer" wird kopiert
With ActiveSheet
'Neues Blatt umbenennen
.Name = wksL.Cells(Wiederholungen, 1).Text 'Als TB Name des neu erstellten TB wird der Name aus der aktiven Zelle genommen von TB urliste.
.Range("O2:O50") = wksL.Cells(Wiederholungen, 2).Value
End With
'Einträge in Tabelle urliste löschen
With wksL
.Range(.Cells(Wiederholungen, 1), .Cells(Wiederholungen, 2)).ClearContents
End With
Else
Exit Sub
End If
wksL.Activate
Next
Set wksL = Nothing
Application.ScreenUpdating = True
End Sub
Ich gehe mal davon aus, dass das Anlegen der neuen Tabellenblätter nur einmal pro Datei erfolgt.
Dann musst in deinem Check-Makro nur den folgenden Teil ändern:
'Namen der neu angelegten Tabellenblätter aus versteckter Tabelle einlesen
With Worksheets("Test")
arrTabellen = .Range(.Cells(1, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 1))
End With
Dann sollte alles funktionieren.
Gruß
M.O.