Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: alle Tabellenblattnamen auslesen

alle Tabellenblattnamen auslesen
19.05.2009 14:36:36
lisa
Hallo
Mit dieser Formel bekomme ich den Tabellblattnamen angezeigt.
=ERSETZEN(ZELLE("Dateiname");1;FINDEN("]";ZELLE("Dateiname"));"")
Was muss ich tun, dass ich alle Tabellenblattnamen meiner Mappe In Tabelle1 in Spalte a angezeigt bekomme?
Hat hier jemand eine Idee?
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alle Tabellenblattnamen auslesen
19.05.2009 14:42:47
ede
Hallo Lisa,
per vba hier ein kleiner ansatz

Sub sheetNamen()
For i = 1 To Sheets.Count
Sheets(1).Cells(i, 1) = Sheets(i).Name
Next i
End Sub


gruss

AW: alle Tabellenblattnamen auslesen
19.05.2009 14:47:25
lisa
Hallo
Danke für die schnelle Antwort
Das ist sehr gut, aber wie bekomme ich es so hin, dass die Tabellen die nach Ausführung des Macros hinzugefügt werden, ohne das Macro noch einmal zu betätigen, aufgelistet werden?
Noch eine Idee?
Gruß Lisa
Anzeige
AW: alle Tabellenblattnamen auslesen
19.05.2009 14:45:43
Hajo_Zi
Hallo Lisa,
vorhandene Tabellen
 ABCDEFG
2Übersicht           
3vorhandene Tabellen           
412.10.2003Oktoberfest - Kunde Mustermann    50018:0023:00
517.04.2003Maifest - Jungesellenverein    10014:0022:00
6             
7  Hi Holger,         
8             
9  hatte diese Frage auch grad in einem anderen Forum (anderer Fragesteller) so beantwortet:         
10             
11  Einfügen -> Namen -> Definieren/Festlegen, Name: x         
12  bezieht sich auf:         
13  =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())         
14             
15  In irgendeine Zelle jetzt diese Formel und runterkopieren:         
16  =WENN(ZEILEN($1:1)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:1));FINDEN("]";INDEX(x;ZEILEN($1:1)))+1;31))         
17             
18  Grüße Boris         
19             
20             
21  Formel runter ziehen falls Mehr Tabellen         

verwendete Formeln
Zelle Formel
A2 =WENN(ZEILEN($1:1)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:1));FINDEN("]";INDEX(x;ZEILEN($1:1)))+1;31))
A3 =WENN(ZEILEN($1:2)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:2));FINDEN("]";INDEX(x;ZEILEN($1:2)))+1;31))
A4 =WENN(ZEILEN($1:3)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:3));FINDEN("]";INDEX(x;ZEILEN($1:3)))+1;31))
B4 =WENN(ISTFEHLER(INDIREKT(A4&"!B4:D4"));"";INDIREKT(A4&"!B4:D4"))
E4 =WENN(ISTFEHLER(INDIREKT(A4&"!E4"));"";INDIREKT(A4&"!E4"))
F4 =WENN(ISTFEHLER(INDIREKT(A4&"!F4"));"";INDIREKT(A4&"!F4"))
G4 =WENN(ISTFEHLER(INDIREKT(A4&"!G4"));"";INDIREKT(A4&"!G4"))
A5 =WENN(ZEILEN($1:4)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:4));FINDEN("]";INDEX(x;ZEILEN($1:4)))+1;31))
B5 =WENN(ISTFEHLER(INDIREKT(A5&"!B4:D4"));"";INDIREKT(A5&"!B4:D4"))
E5 =WENN(ISTFEHLER(INDIREKT(A5&"!E4"));"";INDIREKT(A5&"!E4"))
F5 =WENN(ISTFEHLER(INDIREKT(A5&"!F4"));"";INDIREKT(A5&"!F4"))
G5 =WENN(ISTFEHLER(INDIREKT(A5&"!G4"));"";INDIREKT(A5&"!G4"))
A6 =WENN(ZEILEN($1:5)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:5));FINDEN("]";INDEX(x;ZEILEN($1:5)))+1;31))
B6 =WENN(ISTFEHLER(INDIREKT(A6&"!B4:D4"));"";INDIREKT(A6&"!B4:D4"))
C6 =WENN(ISTFEHLER(INDIREKT(A6&"!E4"));"";INDIREKT(A6&"!E4"))
D6 =WENN(ISTFEHLER(INDIREKT(A6&"!F4"));"";INDIREKT(A6&"!F4"))
E6 =WENN(ISTFEHLER(INDIREKT(A6&"!G4"));"";INDIREKT(A6&"!G4"))
D7 =WENN(ISTFEHLER(INDIREKT(A7&"!F4"));"";INDIREKT(A7&"!F4"))
E7 =WENN(ISTFEHLER(INDIREKT(A7&"!G4"));"";INDIREKT(A7&"!G4"))
D8 =WENN(ISTFEHLER(INDIREKT(A8&"!F4"));"";INDIREKT(A8&"!F4"))
E8 =WENN(ISTFEHLER(INDIREKT(A8&"!G4"));"";INDIREKT(A8&"!G4"))
D9 =WENN(ISTFEHLER(INDIREKT(A9&"!F4"));"";INDIREKT(A9&"!F4"))
E9 =WENN(ISTFEHLER(INDIREKT(A9&"!G4"));"";INDIREKT(A9&"!G4"))
D10 =WENN(ISTFEHLER(INDIREKT(A10&"!F4"));"";INDIREKT(A10&"!F4"))
E10 =WENN(ISTFEHLER(INDIREKT(A10&"!G4"));"";INDIREKT(A10&"!G4"))
D11 =WENN(ISTFEHLER(INDIREKT(A11&"!F4"));"";INDIREKT(A11&"!F4"))
E11 =WENN(ISTFEHLER(INDIREKT(A11&"!G4"));"";INDIREKT(A11&"!G4"))
D12 =WENN(ISTFEHLER(INDIREKT(A12&"!F4"));"";INDIREKT(A12&"!F4"))
E12 =WENN(ISTFEHLER(INDIREKT(A12&"!G4"));"";INDIREKT(A12&"!G4"))
D13 =WENN(ISTFEHLER(INDIREKT(A13&"!F4"));"";INDIREKT(A13&"!F4"))
E13 =WENN(ISTFEHLER(INDIREKT(A13&"!G4"));"";INDIREKT(A13&"!G4"))
D14 =WENN(ISTFEHLER(INDIREKT(A14&"!F4"));"";INDIREKT(A14&"!F4"))
E14 =WENN(ISTFEHLER(INDIREKT(A14&"!G4"));"";INDIREKT(A14&"!G4"))
D15 =WENN(ISTFEHLER(INDIREKT(A15&"!F4"));"";INDIREKT(A15&"!F4"))
E15 =WENN(ISTFEHLER(INDIREKT(A15&"!G4"));"";INDIREKT(A15&"!G4"))
D16 =WENN(ISTFEHLER(INDIREKT(A16&"!F4"));"";INDIREKT(A16&"!F4"))
E16 =WENN(ISTFEHLER(INDIREKT(A16&"!G4"));"";INDIREKT(A16&"!G4"))
D17 =WENN(ISTFEHLER(INDIREKT(A17&"!F4"));"";INDIREKT(A17&"!F4"))
E17 =WENN(ISTFEHLER(INDIREKT(A17&"!G4"));"";INDIREKT(A17&"!G4"))
D18 =WENN(ISTFEHLER(INDIREKT(A18&"!F4"));"";INDIREKT(A18&"!F4"))
E18 =WENN(ISTFEHLER(INDIREKT(A18&"!G4"));"";INDIREKT(A18&"!G4"))
A19 =WENN(ZEILEN($1:18)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:18));FINDEN("]";INDEX(x;ZEILEN($1:18)))+1;31))
B19 =WENN(ISTFEHLER(INDIREKT(A19&"!B4:D4"));"";INDIREKT(A19&"!B4:D4"))
C19 =WENN(ISTFEHLER(INDIREKT(A19&"!E4"));"";INDIREKT(A19&"!E4"))
D19 =WENN(ISTFEHLER(INDIREKT(A19&"!F4"));"";INDIREKT(A19&"!F4"))
E19 =WENN(ISTFEHLER(INDIREKT(A19&"!G4"));"";INDIREKT(A19&"!G4"))
A20 =WENN(ZEILEN($1:19)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:19));FINDEN("]";INDEX(x;ZEILEN($1:19)))+1;31))
B20 =WENN(ISTFEHLER(INDIREKT(A20&"!B4:D4"));"";INDIREKT(A20&"!B4:D4"))
C20 =WENN(ISTFEHLER(INDIREKT(A20&"!E4"));"";INDIREKT(A20&"!E4"))
D20 =WENN(ISTFEHLER(INDIREKT(A20&"!F4"));"";INDIREKT(A20&"!F4"))
E20 =WENN(ISTFEHLER(INDIREKT(A20&"!G4"));"";INDIREKT(A20&"!G4"))
A21 =WENN(ZEILEN($1:20)>VERGLEICH("";x;-1);"";TEIL(INDEX(x;ZEILEN($1:20));FINDEN("]";INDEX(x;ZEILEN($1:20)))+1;31))
C21 =WENN(ISTFEHLER(INDIREKT(A21&"!E4"));"";INDIREKT(A21&"!E4"))
D21 =WENN(ISTFEHLER(INDIREKT(A21&"!F4"));"";INDIREKT(A21&"!F4"))
E21 =WENN(ISTFEHLER(INDIREKT(A21&"!G4"));"";INDIREKT(A21&"!G4"))

definierte Namen
Name Bezieht sich auf
x =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

Tabellendarstellung in Foren Version 1.5



Anzeige
AW: alle Tabellenblattnamen auslesen
20.05.2009 09:08:51
lisa
Hallo
Danke für die Hilfe
Ich konnte mich nicht mehr melden, da es gestern irgendwelche Probleme in diesem Forum gab.
Ich konnte keine Antworten mehr aufrufen.
War wohl offline das Forum.
Nun ja danke für die Hilfe und es klappt wie gewünscht.
Gruß Lisa

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Alle Tabellenblattnamen in Excel auslesen


Schritt-für-Schritt-Anleitung

Um alle Tabellenblattnamen in Excel auszulesen, kannst du entweder eine Excel-Formel oder ein VBA-Makro verwenden. Hier sind die Schritte für beide Methoden:

1. Mit einer Excel-Formel:

  • Gehe zu der Zelle, in der du den Tabellenblattnamen auslesen möchtest.
  • Verwende die folgende Formel:
     =ERSETZEN(ZELLE("Dateiname");1;FINDEN("]";ZELLE("Dateiname"));"")
  • Diese Formel gibt dir den Namen des aktuellen Tabellenblattes zurück. Um alle Namen in einer Spalte anzuzeigen, musst du die Formel für jede Zeile anpassen.

2. Mit einem VBA-Makro:

  • Öffne den VBA-Editor mit ALT + F11.
  • Füge ein neues Modul hinzu (Einfügen -> Modul) und füge den folgenden Code ein:
     Sub sheetNamen()
         Dim i As Integer
         For i = 1 To Sheets.Count
             Sheets(1).Cells(i, 1) = Sheets(i).Name
         Next i
     End Sub
  • Schließe den VBA-Editor und führe das Makro aus, um die Namen der Tabellenblätter in der ersten Spalte von Tabelle1 aufzulisten.

Häufige Fehler und Lösungen

  • Fehler: Die Formel gibt einen Fehler zurück.

    • Lösung: Stelle sicher, dass die Arbeitsmappe gespeichert ist. Die ZELLE-Funktion benötigt einen Dateinamen, um zu funktionieren.
  • Fehler: VBA-Makro funktioniert nicht.

    • Lösung: Überprüfe die Makrosicherheitseinstellungen in Excel. Du musst die Ausführung von Makros erlauben.

Alternative Methoden

  • Excel Power Query: Eine weitere Möglichkeit, Tabellenblattnamen auszulesen, ist die Verwendung von Power Query. Du kannst eine Abfrage erstellen, um die Namen der Blätter automatisch zu laden.

  • Formel mit „INDIREKT“: Du kannst auch die INDIREKT-Funktion nutzen, um auf spezifische Zellen in verschiedenen Blättern zuzugreifen. Dies kann hilfreich sein, wenn du Daten aus verschiedenen Blättern kombinieren möchtest.


Praktische Beispiele

  1. Tabellenblattnamen in Spalte A auslesen:

    • Füge in Zelle A1 die Formel ein und ziehe sie nach unten:
      =WENN(ZEILEN($1:1)>ANZAHL(SHEETNAMES()), "", SHEETNAMES()(ZEILEN($1:1)))
  2. VBA zur automatischen Aktualisierung nach dem Hinzufügen von Blättern:

    • Verwende das folgende VBA-Ereignis, um die Liste der Tabellennamen zu aktualisieren, wenn ein neues Blatt hinzugefügt wird:
      Private Sub Workbook_SheetAdded(ByVal Sh As Object)
       Call sheetNamen
      End Sub

Tipps für Profis

  • Nutze VBA-Arrays, um die Leistung zu verbessern, wenn du mit vielen Blättern arbeitest.
  • Experimentiere mit der Formel „ARBEITSMAPPE.ZUORDNEN“, um dynamisch auf verschiedene Arbeitsmappen zuzugreifen.
  • Verwende definierte Namen für die Blätter, um die Lesbarkeit und Wartbarkeit deiner Formeln zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich den Blattnamen in eine Zelle auslesen?

  • Du kannst die Formel =ERSETZEN(ZELLE("Dateiname");1;FINDEN("]";ZELLE("Dateiname"));"") verwenden, um den Blattnamen in einer bestimmten Zelle anzuzeigen.

2. Ist es möglich, die Namen der Tabellenblätter automatisch zu aktualisieren?

  • Ja, indem du ein VBA-Makro verwendest, das beim Hinzufügen neuer Blätter automatisch die Namen aktualisiert.

3. Welche Excel-Version wird benötigt?

  • Die beschriebenen Methoden sind in den meisten aktuellen Versionen von Excel verfügbar, einschließlich Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige