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

Blattnamen in Auswahlliste (Dropdown)

Forumthread: Blattnamen in Auswahlliste (Dropdown)

Blattnamen in Auswahlliste (Dropdown)
23.10.2008 14:59:00
Sascha
Moinsen ihr Profis,
gibt es eine Möglichkeit, mir die verschiedenen Tabellenblattnamen in einer Auswahlliste auf einem Tabellenblatt anzuzeigen?
Und wenn ja, wie?
LG
Sascha
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:07:00
rofu
Hallo Sascha,
diese Makro sollte es schaffen.
Gruß
rofu

Sub Tabellennamen_auflisten()
Dim MyListe$, MyCell$, Anzahl%, MyRange$, Ok%, i%
MyListe = ActiveSheet.Name
MyCell = ActiveCell.Address
Anzahl = Worksheets.Count
MyRange = Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(ActiveCell.Row + Anzahl - 1,  _
ActiveCell.Column)).Address
Worksheets(MyListe).Range(MyRange).Select
Ok = MsgBox("ACHTUNG: Der markierte Bereich wird überschrieben !" & vbCrLf & _
Chr(13) & "                         Trotzdem fortfahren ?", vbYesNo)
If Ok  vbYes Then Exit Sub
For i = 1 To Worksheets.Count
Sheets(MyListe).Cells(Range(MyCell).Row + i - 1, Range(MyCell).Column) = Sheets(i).Name
Next i
Range(MyCell).Select
MsgBox ("Es befinden sich ") & ThisWorkbook.Worksheets.Count & (" Tabellenblätter in dieser  _
Arbeitsmappe."), vbOKOnly, ThisWorkbook.Name
End Sub


Anzeige
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:22:57
Sascha
nichts von beiden funktioniert leider :(
das makro zeigt keine funktion und die formel gibt mir fehlermeldung...
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:56:53
rofu
Bitte noch einmal ausprobieren.
Wenn Fehler, bitt Meldung in welcher Zeile des Makro
Danke

Sub Tabellennamen_auflisten()
Dim MyListe$, MyCell$, Anzahl%, MyRange$, Ok%, i%
MyListe = ActiveSheet.Name
MyCell = ActiveCell.Address
Anzahl = Worksheets.Count
MyRange = Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(ActiveCell.Row + Anzahl - 1,  _
_
ActiveCell.Column)).Address
Worksheets(MyListe).Range(MyRange).Select
Ok = MsgBox("ACHTUNG: Der markierte Bereich wird überschrieben !" & vbCrLf & _
Chr(13) & "                         Trotzdem fortfahren ?", vbYesNo)
If Ok  vbYes Then Exit Sub
For i = 1 To Worksheets.Count
Sheets(MyListe).Cells(Range(MyCell).Row + i - 1, Range(MyCell).Column) = Sheets(i).Name
Next i
Range(MyCell).Select
MsgBox ("Es befinden sich ") & ThisWorkbook.Worksheets.Count & _
(" Tabellenblätter in dieser Arbeitsmappe."), vbOKOnly, ThisWorkbook.Name
End Sub


Anzeige
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 16:00:15
Sascha
hats ich schon erledigt, vielen dank für deine hilfe rofu :)
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:08:15
David
Hallo Sascha,
du benötigst eine Hilfstabelle. In dieser mit der Formel
=TEIL(ZELLE("Dateiname";Tabelle4!A1);SUCHEN("]";ZELLE("Dateiname";Tabelle4!A1))+1;999)
eine Liste erzeugen, wobei immer der Verweis auf die entsprechende Zelle eines Tabellenblattes den Namen erzeugt.
Dann der Liste einen Namen geben, z. Bsp. "Blätter"
In der Zelle, in der die Liste stehen soll, mit
Daten - Gültigkeit, Liste, =Blätter
die Dropdownliste erzeugen.
Klappts?
Gruß
David
Anzeige
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:24:00
Sascha
leider nein,
entweder ich mache den verweis falsch, oder ich versteh die formel nicht so ganz :(
kriege fehlermeldung sobald ich die formel mit "eingabe" bestätigen will
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:27:57
David
Hallo Sascha,
ich nehme an, "Tabelle4!" in meiner Formel hast du mit einem Tabellennamen aus deiner Tabelle ersetzt?
Anbei meine Testdatei:
https://www.herber.de/bbs/user/56219.xls
Gruß
David
Anzeige
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:37:07
rofu
Hallo David,
gehe ich Recht in der Annahme, dass ich bei dieser Formel schon die Blattnamen wissen muss?
Gruß
rofu
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:45:00
David
Genau!
Wenn du eine Variante brauchst ohne diese zu kennen, hilft nur VBA.
Gruß
David
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:45:00
Sascha
hat geklappt, vielen dank :)
Anzeige
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:46:18
Sascha
hat geklappt, vielen dank :)
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:33:09
rofu
Hallo Sascha,
wenn Du z.B. in die Zelle A3 gehst und dann das Makro startest, dann geschieht was ?
Bitte um Antwort
Gruß
rofu
AW: Blattnamen in Auswahlliste (Dropdown)
23.10.2008 15:37:00
Sascha
Fehler beim Kompilieren
Syntaxfehler
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Blattnamen in Auswahlliste erstellen


Schritt-für-Schritt-Anleitung

Um eine Auswahlliste in Excel zu erstellen, die die Namen der Tabellenblätter enthält, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code und füge ihn in das Modul ein:

    Sub Tabellennamen_auflisten()
       Dim MyListe$, MyCell$, Anzahl%, MyRange$, Ok%, i%
       MyListe = ActiveSheet.Name
       MyCell = ActiveCell.Address
       Anzahl = Worksheets.Count
       MyRange = Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(ActiveCell.Row + Anzahl - 1, ActiveCell.Column)).Address
       Worksheets(MyListe).Range(MyRange).Select
       Ok = MsgBox("ACHTUNG: Der markierte Bereich wird überschrieben !" & vbCrLf & "Trotzdem fortfahren ?", vbYesNo)
       If Ok <> vbYes Then Exit Sub
       For i = 1 To Worksheets.Count
           Sheets(MyListe).Cells(Range(MyCell).Row + i - 1, Range(MyCell).Column) = Sheets(i).Name
       Next i
       Range(MyCell).Select
       MsgBox ("Es befinden sich ") & ThisWorkbook.Worksheets.Count & (" Tabellenblätter in dieser Arbeitsmappe."), vbOKOnly, ThisWorkbook.Name
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Platziere den Cursor in der Zelle, wo die Auswahlliste beginnen soll.

  6. Drücke ALT + F8, wähle Tabellennamen_auflisten und klicke auf Ausführen.

Jetzt hast Du eine Excel Dropdown-Liste, die die Namen aller Tabellenblätter enthält.


Häufige Fehler und Lösungen

  • Fehler beim Kompilieren / Syntaxfehler: Überprüfe den kopierten Code auf mögliche Tippfehler oder fehlende Zeichen.
  • Das Makro funktioniert nicht: Stelle sicher, dass Du das Makro in einem Arbeitsblatt ausführst, in dem Du auch die Auswahlliste erstellen möchtest.
  • Fehlermeldungen bei der Formel: Vergewissere Dich, dass Du die richtigen Zellreferenzen in Deiner Formel verwendest.

Alternative Methoden

Falls Du keine VBA verwenden möchtest, kannst Du auch eine Hilfstabelle erstellen:

  1. Erstelle eine neue Tabelle und verwende die folgende Formel in einer Zelle, um den Tabellennamen zu ermitteln:

    =TEIL(ZELLE("Dateiname";Tabelle1!A1);SUCHEN("]";ZELLE("Dateiname";Tabelle1!A1))+1;999)
  2. Ersetze Tabelle1 durch den Namen des jeweiligen Tabellenblatts.

  3. Erstelle eine Excel Auswahlliste mit dem Namen Blätter, indem Du im Menü Daten -> Gültigkeit auswählst und die Liste definiertest.


Praktische Beispiele

Nehmen wir an, Du hast drei Tabellenblätter: "Januar", "Februar", "März". Nach dem Ausführen des VBA-Makros oder der Verwendung der Hilfstabelle wird die Auswahlliste Excel die folgenden Optionen anzeigen:

  • Januar
  • Februar
  • März

Du kannst diese Liste dann in einem Drop Down Excel-Format verwenden, um schnell zwischen den Tabellenblättern zu navigieren.


Tipps für Profis

  • Verwende den Namen der Hilfstabelle für die Auswahlliste, um die Wartung zu erleichtern.
  • Kombiniere die Auswahlliste mit bedingter Formatierung für eine benutzerfreundliche Oberfläche.
  • Teste das Makro in einer Kopie Deiner Arbeitsmappe, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Liste der Tabellenblätter aktualisieren?
Führe einfach das Makro erneut aus, um die Auswahlliste zu aktualisieren.

2. Funktioniert das Makro auch in älteren Excel-Versionen?
Ja, das Makro sollte in den meisten Excel-Versionen ab 2007 funktionieren.

3. Kann ich die Dropdown-Liste auf ein anderes Tabellenblatt verschieben?
Ja, Du kannst die Dropdown-Liste auf ein anderes Blatt kopieren und das Makro dort ausführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige