Hallo
Ich suche seit geraumer Zeit nach der Lösung folgenden Problems:
Ich arbeite mit einer Arbeitsmappe mit ca. 100 verschiedenen Tabellenblättern. Für jede Einzelarbeit brauche ich davon ca. 10-30 Blätter. Die nicht benötigten Blätter möchte ich mittels Makro am Ende löschen.
Mittels eines Addins wird das vorderste Tabellenblatt mit den Namen "Inhaltsverzeichnis" erstellt, in dem in den Zellen A3 bis A102 die Tabellenblattnamen aller Arbeitsblätter aufgelistet sind. Die Namen sind gleichzeitig Hyperlink zu den gleichnamigen Arbeitsblatt.
Nun möchte ich mittels Markieren der Zeilen mit dem Blattnamen im Tabellenblatt "Inhaltsverzeichnis" das verlinkte Tabellenblatt und die betreffende Zeile (nicht nur Zelle) im Tabellenblatt "Inhaltsverzeichnis" löschen.
Ich habe selbst schon gesucht und probiert, aber es gelingt mir nicht, das jeweils neu angewählte Worksheet "Blattname" in die Formel zu bekommen. Es bleibt immer das vorhergehende (gelöschte) dort stehen und damit geht es einfach nicht. Beipiel (aber bitte nicht lachen - VBA Anfänger)
Sub Makro3()
' Makro3 Makro
ActiveCell.Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Sheets("Blattname").Select
ActiveWindow.SelectedSheets.Delete
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Inhaltsverzeichnis").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
End Sub
oderSub Tabellenlätter_löschen_H1()
Application.DisplayAlerts = False
Selection.EntireRow.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Sheets("Blattname").Select
ActiveWindow.SelectedSheets.Delete
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Inhaltsverzeichnis").Select
Selection.Delete Shift:=xlUp
Range("A2").Select
Application.DisplayAlerts = True
End Sub
Kann mir da jemand helfen? Das würde mich sehr freuen, weil ich diesen Vorgang relativ oft - noch ?- händisch durchführe (aufwendiges Einzelblattlöschen).Viele Grüsse
Heinz