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

Forumthread: alle Tabellennamen in einer Tabelle anzeigen

alle Tabellennamen in einer Tabelle anzeigen
15.07.2013 10:25:06
Christof
hallo
Ich möchte in einem bestehenden Tabellenblatt "Inhaltsverzeichnis" (ab Zelle A2) die Namen aller Tabellenblätter dieser Arbeitsmappe aufführen. Nach dem hinzufügen/löschen von Tabellenblätter muss ich das Verzeichnis aktualisieren.
Bei der Recherche bin ich auf diesen Code gestossen:
Dim Quelle As Workbook, Ziel As Worksheet
Set Quelle = ActiveWorkbook
Set Ziel = Workbooks.Add().Sheets(1)
For i = 1 To Quelle.Sheets.Count
Ziel.Range("A" & i) = Quelle.Sheets(i).Name
Next
Dieser erstellt mir zwar das gewünschte Verzeichnis, allerdings nicht in der bestehenden Arbeitsmappe
Vielen Dank für die Hilfe
Gruss

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ohne Makro
15.07.2013 10:30:07
JACKD
mal als Formelalternative



Tabelle1
 AB
1   
2[xhtml_add_in.xlam]Tabelle1 
3[xhtml_add_in.xlam]Tabelle2 
4[xhtml_add_in.xlam]Tabelle3 
5   

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
A2:A5=WENNFEHLER(INDEX(x;ZEILE(A1) ) ;"")   =IFERROR(INDEX(x,ROW(R[-1]C) ) ,"")

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

XHTML Tabelle für Darstellung in Foren,
einschl. Bedingter Formatierung ab Version 2007
XHTML-Version 11.26



Grüße

Anzeige
AW: Ohne Makro
15.07.2013 11:04:09
Christof
Hallo JACKD
super, so komme ich auch ohne VBA zum Ziel
Vielen Dank

Danke für die Rückmeldung owT
15.07.2013 11:09:13
JACKD
owT ohne weiteren Text

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Alle Tabellennamen in einer Excel-Tabelle anzeigen


Schritt-für-Schritt-Anleitung

Um alle Tabellennamen in einer Excel-Tabelle anzuzeigen, kannst du entweder ein VBA-Makro verwenden oder eine Formel nutzen. Hier sind die Schritte für beide Methoden:

Mit VBA-Makro
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub TabellennamenAuflisten()
       Dim Quelle As Workbook, Ziel As Worksheet
       Set Quelle = ActiveWorkbook
       Set Ziel = Quelle.Sheets("Inhaltsverzeichnis") ' Anpassen nach Bedarf
       Ziel.Cells.Clear ' Löscht vorherige Einträge
       For i = 1 To Quelle.Sheets.Count
           Ziel.Range("A" & i + 1) = Quelle.Sheets(i).Name
       Next
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Tabellennamen anzuzeigen.

Mit Excel-Formel
  1. Gehe zu der Zelle, in der du die Tabellennamen auflisten möchtest (z.B. A2).

  2. Gib die folgende Formel ein:

    =WENNFEHLER(INDEX(SHEETNAMES();ZEILE(A1));"")
  3. Ziehe die Formel nach unten, um die Namen aller Tabellenblätter anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du das richtige Arbeitsblatt für die Zielzelle angegeben hast.
  • Fehler: Die Formel gibt #NAME? zurück.

    • Lösung: Überprüfe, ob du die richtige Funktion verwendest und dass die Funktion SHEETNAMES() in deiner Excel-Version verfügbar ist.

Alternative Methoden

Neben dem VBA-Makro und der Excel-Formel gibt es auch andere Möglichkeiten, die Tabellennamen anzuzeigen:

  • Power Query: Du kannst Power Query verwenden, um eine Liste aller Tabellenblätter zu importieren und anzuzeigen.
  • Pivot-Tabellen: Eine Pivot-Tabelle kann verwendet werden, um bestimmte Daten aus verschiedenen Tabellen zu aggregieren und darzustellen.

Praktische Beispiele

Hier sind einige Beispiele, wie du die Tabellennamen in einer Excel-Tabelle anzeigen kannst:

  1. VBA-Makro Beispiel:

    • Wenn du das oben angegebene Makro ausführst, wird in deinem Arbeitsblatt "Inhaltsverzeichnis" ab Zelle A2 eine Liste aller Tabellennamen erstellt.
  2. Excel-Formel Beispiel:

    • Verwende die Formel =WENNFEHLER(INDEX(SHEETNAMES();ZEILE(A1));"") in A2, um dynamisch die Namen aller Tabellenblätter anzuzeigen.

Tipps für Profis

  • Automatisiere das Aktualisieren: Füge das Makro in das Workbook_Open-Ereignis ein, um die Tabellennamen beim Öffnen der Arbeitsmappe automatisch zu aktualisieren.
  • Verwende definierte Namen: Nutze definierte Namen, um auf die Liste der Tabellennamen zuzugreifen, was die Verwaltung erleichtert.
  • Sichere deine Daten: Stelle sicher, dass du eine Sicherheitskopie deiner Arbeitsmappe machst, bevor du mit VBA arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich die Tabellennamen in einer bestimmten Zelle anzeigen?
Du kannst die Formel =WENNFEHLER(INDEX(SHEETNAMES();ZEILE(A1));"") anpassen, um die Tabellennamen in einer bestimmten Zelle anzuzeigen.

2. Funktioniert das in allen Excel-Versionen?
Die VBA-Methode funktioniert in allen Versionen von Excel, während die Formel möglicherweise nur in neueren Versionen verfügbar ist.

3. Kann ich die Tabellennamen automatisch aktualisieren?
Ja, indem du das Makro mit einem Ereignis wie Workbook_Open verbindest, kannst du die Tabellennamen automatisch aktualisieren, wenn die Arbeitsmappe geöffnet wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige