Suche ein Makro welches mir alle Blattnamen (außer "Blatt1") in eine Tabelle in Blatt1 einträgt, kann mir jemand weiterhelfen?

...komplette Frage anzeigen

3 Antworten

  1. Mit Alt+F11 VBA öffnen
  2. Menü Einfügen: (neues) Modul
  3. ggf im Fenster Eigenschaften benamsen (nicht zwingend notwendig)
  4. dieses Sub dort einfügen (unterhalb evtl vorhandener Einträge wie Option Explicit oder Option Base 1 (oder 0)):

Sub BlattNamenUntereinanderListen()
Dim Blatt
For Each Blatt In Worksheets()
ActiveCell.Value = Blatt.Name
ActiveCell.Offset(1, 0).Activate 'untereinander
Next
End Sub

Dieses Makro ist sehr kurz, läuft allerdings trotzdem bemerkenswert langsam

Da Du es in verschiedenen Spalten listen willst, heißt das µ natürlich BlattNamenNebeneinanderListen() und anstatt Offset(1, 0) muss es heissen .Offset(0, 1) - das ist alles!

Aber Achtung: das Makro überschreibt gnadenlos alle am Zielort bestehenden Einträge!

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Iamiam
16.03.2016, 18:56

am besten, Du probierst es erst mal in einem leeren Blatt aus!

Blatt 1 kannst Du ja wieder löschen!

0

Du kannst die Auflistung der Tabellenblätter mit der vorgefertigten Excel4-Makrofunktion ARBEITSMAPPE.ZUORDNEN (Google-Stichwort!) tun. Eine genaue Vorgehensweise findest du bei Google.

Die Ausgabe des zugehörigen Datümer kannst du dann mit der INDIREKT-Funktion hinbekommen.

Antwort bewerten Vielen Dank für Deine Bewertung

1. anregung:

Sub test()
Set tab1 = ActiveWorkbook.Sheets(1)
first = True

For ix = 2 To ActiveWorkbook.Sheets.Count
tab1.Cells(ix + 1, "D").Value = ActiveWorkbook.Sheets(ix).Name
Next ix
End Sub
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?