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

3 Antworten

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
  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!


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
Iamiam  17.03.2016, 15:05
@Iamiam

Hab mich verlesen,

also doch untereinander: D3 ff. Datumswert E9: (aber anscheinend nicht in Blatt1)

Formel in E3:

=D3&Text(indirekt(D3&"!E9");" TT.MM.JJ")

und runterziehen (E3 liefert natürlich einen Fehler, wenn/weil in Blatt1 kein Datum steht, vllt auch Blatt1! 00.00.00) Das Absolutzeichen für E$9 kann entfallen, da "!E9" ein Text ist, der beim Kopieren nicht verändert wird. Das Leerzeichen zwischen Blattname und Datum ist ein umgesetztewr Formatbefehl, den Du aber in der Formel ändern kannst. Oder als &" "& zwischen die beiden Teilglieder D3 und Text... schieben.

oben: natürlich nicht Dein Blatt1  löschen, sondern das zum Ausprobieren!

Halt (zu spät) erstes Glied löschen, brauchst du ja gar nich

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.