Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dropdown mit verknüpfungen zu tabellenblättern

Forumthread: dropdown mit verknüpfungen zu tabellenblättern

dropdown mit verknüpfungen zu tabellenblättern
18.09.2006 17:05:10
matwic
hallo leute!
ich habe im tabellenblatt mit dem titel "übersicht" über gültigkeit / liste eine dropdownliste erstellt, die auswahl darin entspricht den titeln aller übrigen tabellenblätter in dieser mappe. nun möchte ich, dass excel beim klicken auf den jeweiligen namen in der liste zu diesem blatt springt.
ist das möglich? danke für die hilfe!
matwic
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: dropdown mit verknüpfungen zu tabellenblättern
19.09.2006 11:05:50
fcs
Hallo matwic,
funktioniert leider nicht direkt, da das Change-Ereignis der Tabelle nicht auf die Wert-Änderung aus der Gültigkeits-Dropdown-Liste reagiert. Wenn du nach der Auswahl des Tabellennamens in eine andere Zelle klicks kann man dies folgendermaßen in VBA realisieren:
in einem Allgemeinen-Modul folgende Variablen-Deklaration:

Public Tabelle As String

und unter der Tabelle "Übersicht" folgenden Code, wobei du die Adresse $B$4 bzw. B4 noch anpassen muss.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$4" Then
Tabelle = Target.Value
End If
If Target.Address <> "$B$4" And Tabelle <> "" Then
Tabelle = ActiveWorkbook.Sheets("Übersicht").Range("B4").Value
ActiveWorkbook.Sheets(Tabelle).Select
Tabelle = ""
End If
End Sub

Es gibt aber auch noch eine einfache Möglichkeit in Excel eine Auswahlliste aller Register/Tabellen anzuzeigen:
Rechter Mausklick auf einen der Pfeile links neben den Registernamen.
Gruß
Franz
Anzeige
AW: dropdown mit verknüpfungen zu tabellenblättern
19.09.2006 15:54:38
matwic
hallo franz!
danke für deine hilfe!
leider kenne ich mich mit vba überhaupt nicht aus. um das ganze zu testen, habe ich eine neue mappe aufgerufen, die quellzellen mit daten gefüllt und eine auswahlliste erstellt:
inhalt der zellen a1 bis a3:
“eins“ (kein link)
“zwei“ (link zu tabelle2)
“drei“ (link zu tabelle3)
spalte a ausgeblendet
zelle c10:
hier befindet sich die dropdown liste mit “eins“, “zwei“ und “drei“. diese zelle ist aktiviert.
“public tabelle as string“, wo kann ich das auswählen, bevor ich den code eingebe? finde nichts, das so heisst.
“b4“ habe ich durch “c10“ ersetzt (stimmt das? ist “b4“ die zelle mit der dropdown liste und muss diese aktiviert sein?) und “übersicht“ durch “tabelle1“. muss sonst noch etwas angepasst bzw. eingefügt werden? bei diesen zeichen z.b.: <> und/oder ““.
dann habe ich noch folgende probleme:
1. was bewirkt dieser code eigentlich? bewirkt er dass z.b. hyperlinks in den "quelllzellen" auch als solche in der auswahlliste erkannt werden oder wie?
2. muss ich erst die dropdown liste erstellen und dann diese zelle aktivieren (oder den bereich der quelldaten?), um dann den code eingeben zu können? bewirkt dieser code also einen effekt nur für den ausgewählten bereich oder für das gesamte tabellenblatt oder wie ist das genau zu verstehen?
3. nachdem ich diesen code eingegeben (oder in diesem fall von dir kopiert) habe, wie führe ich das ganze dann aus? ich habe gelesen, dass makros mit “private“ selbst ablaufen, aber dann muss ich wohl etwas falsch gemacht haben, denn in meinem beispiel läuft absolut nichts ab und auch die “links“ in der auswahlliste bleiben unverändert.
könntest du dir das mal ansehen?:

Die Datei https://www.herber.de/bbs/user/36807.jpg wurde aus Datenschutzgründen gelöscht

danke und schönen tag noch!
gruss matwic
Anzeige
AW: dropdown mit verknüpfungen zu tabellenblättern
19.09.2006 22:25:10
fcs
Hallo matwic,
##leider kenne ich mich mit vba überhaupt nicht aus. um das ganze zu testen, habe ich
##eine neue mappe aufgerufen, die quellzellen mit daten gefüllt und eine auswahlliste
##erstellt:
##inhalt der zellen a1 bis a3:
##“eins“ (kein link)
##“zwei“ (link zu tabelle2)
##“drei“ (link zu tabelle3)
##spalte a ausgeblendet
Dies ist soweit ok, du muss aber keine Hyperlinks auf Tabellen "zwei" und "drei" einfügen.
##zelle c10:
##hier befindet sich die dropdown liste mit “eins“, “zwei“ und “drei“. diese zelle ist
##aktiviert.
##“public tabelle as string“, wo kann ich das auswählen, bevor ich den code eingebe?
##finde nichts, das so heisst.
Du hast im VBA-Editor ja schon das "Modul1" angelegt.
Hier fügst du, um die Variable zu deklarieren, als 1. Zeile ein:

Public Tabelle as String

##“b4“ habe ich durch “c10“ ersetzt (stimmt das? ist “b4“ die zelle mit der dropdown liste
##und muss diese aktiviert sein?) und “übersicht“ durch “tabelle1“.
Das ist soweit korrekt.
##muss sonst noch etwas angepasst bzw. eingefügt werden? bei diesen zeichen z.b.: <>
##und/oder ““.
NEIN
##dann habe ich noch folgende probleme:
##1. was bewirkt dieser code eigentlich? bewirkt er dass z.b. hyperlinks in den
##"quelllzellen" auch als solche in der auswahlliste erkannt werden oder wie?
Jedesmal wenn du eine Zelle in der Tabelle auswählst wird das Selection_Change-Makro gestartet. Wird die Zelle C10 gewählt, dann wird ihr aktueller Wert in der Public Variablen "Tabelle" gespeichert. Die Hyperlinks spielen bei der Makro-Ausführung keine Rolle. Entscheidend ist, dass die Tabellennamen korrekt geschrieben sind.
Wenn du jetzt auf eine andere Zelle in der Tabelle klickst, dann startet das Makro erneut. Jetzt ist der Wert von Variable "Tabelle" <>"" und die If-Bedingung wird erfüllt. Der Wert der Variablen "Tabelle" wird auf den jetzt aktuellen Wert der Zelle C10 gesetzt und die Tabelle selektiert. Zum Schluß wird die Variable "Tabelle" wieder auf "" zurückgesetzt, damit das Makro wieder in seinem Startzustand ist.
##2. muss ich erst die dropdown liste erstellen und dann diese zelle aktivieren (oder den
##bereich der quelldaten?), um dann den code eingeben zu können? bewirkt dieser code also
##einen effekt nur für den ausgewählten bereich oder für das gesamte tabellenblatt oder
##wie ist das genau zu verstehen?
Es ist besser erst die Dropdownliste in der Tabelle zu estellen und dann den Code. Es kann sonst passieren, dass der Code abläuft und mit einer Fehlermeldung abbricht, weil die Tabelle mit dem Namen nicht vorhanden ist. Der Code wirkt auf die gesamte Tabelle. Aktionen finden durch die Bedingungen aber nur statt wenn die Zelle C10 gewählt wurde und damit die Variable "Tabelle" mit einem Tabellennamen gefüllt wurde.
##3. nachdem ich diesen code eingegeben (oder in diesem fall von dir kopiert) habe, wie
##führe ich das ganze dann aus? ich habe gelesen, dass makros mit “private“ selbst
##ablaufen, aber dann muss ich wohl etwas falsch gemacht haben, denn in meinem beispiel
##läuft absolut nichts ab und auch die “links“ in der auswahlliste bleiben unverändert.
##könntest du dir das mal ansehen?:
Wie bereits geschrieben startet das Makro "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" jedesmal wenn du eine andere Zelle in der Tabelle selektierst (per Maus oder Pfeiltasten). Es ist ein sogenanntes Ereignismakro, dass automatisch startet, wenn dieses Ereignis stattfindet.
Nicht alle Private Sub ... Makros starten automatisch. Sie werden im Dialogfenster "Makro starten" jedoch nicht angezeigt und können somit nicht direkt gestartet werden. Es sind entweder Ereignismakros mit speziellen Namen oder Makros, die der Programmierer als Private Sub deklariert hat, da das Makro nur von anderen Makros aufrufen werden soll.
Gruss
Franz
Anzeige
AW: dropdown mit verknüpfungen zu tabellenblättern
23.09.2006 04:51:47
matwic
hallo!
danke vielmal für deine schnelle hilfe! es funktioniert doch tatsächlich, toll!
hätte noch ein paar fragen, falls ich dir nicht schon auf die nerven falle und dir zuviel wertvolle zeit stehle:
1. kann ich, jetzt in meinem fall, auch die tabellenblätter (also die verschiedenen kapitel) unten, auf die meine "links" verweisen, ausblenden, so dass sie nur über die auswahlliste erreicht werden können?
2. gibt es einen code, der bewirkt, dass bei jedem, der diese mappe öffnet, eine spezielle Einstellung aktiviert wird, falls diese nicht bereits eingestellt ist? es gibt doch die einstellung, dass man mit der entertaste nicht nur z.b. den eingegebenen text bestätigt, sondern auch gerade gleichzeitig in die nächstuntere zelle springt. wenn man aus der auswahlliste ein kapitel auswählt, könnte man darauf enter drücken, anstatt extra jedesmal mit der maus die zelle zu wechseln. ich möchte nun, dass bei jedem, der diese mappe öffnet und der diese einstellung in excel nicht aktiviert hat, diese automatisch beim öffnen vorgenommen wird (für diese mappe).
falls das nicht funktioniert: gibt es eine andere möglichkeit mit der auswahlliste ohne jedesmal in eine andere zelle zu klicken. also z.b. eine andere möglichkeit mit enter oder "wirklichen links" direkt in der auswahlliste oder was weiss ich.
3. wie kriege ich es hin, dass die zelle mit der auswahlliste einen "basistext" enthält, wie z.b. "chosse a chapter and click enter" (einen text, der nicht in der auswahlliste erscheint, nur in der zelle und keinen "link" enthält), der jedesmal, wenn man ins kapitel übersicht (zurück)wechselt angezeigt wird, anstatt der anzeige des letzten ausgewählten kapitels. dann nämlich, gelangt man sofort wieder dorthin zurück, wenn man kurz mal eine andere zelle auswählt.
4. wenn ich das ganze mit der auswahlliste verändern möchte und statt dem wechsel in das betreffende kapitel duch "enter", noch einen weiteren schritt einbauen möchte. wie stelle ich das an? ich möchte, dass es, wie bisher eine auswahlliste gibt. diese enthält aber dieses mal nicht diese "direkten links". sondern, der kapiteltitel, den man in der liste auswählt, soll eine zelle darunter oder irgendwo sonst erscheinen in Form eines "richtigen" links. mit klick darauf gelange ich ins gewünschte kapitel. also das ganze über zwei schritte.
vielleicht kannst du mir mit diesen problemen noch helfen, falls es für dich nicht zuviel aufwand bedeutet und du zeit hast. danach, wenn das funktioniert und keine probleme mehr auftauchen, ist definitiv schluss mit dem thema auswahllisten und ich denke, dass dann vielleicht auch schon eine gute basis entstanden ist, selbst ein bisschen zu tüfteln, falls ich wieder mal etwas brauchen sollte, denn man lernt ja immer etwas dazu. bin irgendwie durch zufall auf dieses vba gestossen und finde es sehr interessant.
danke nochmal und alles gute!
matwic
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Dropdown-Listen mit Verknüpfungen zu Tabellenblättern in Excel


Schritt-für-Schritt-Anleitung

  1. Erstelle die Dropdown-Liste:

    • Gehe zum Tabellenblatt „Übersicht“.
    • Wähle die Zelle aus, in der die Dropdown-Liste erscheinen soll (z.B. C10).
    • Klicke auf „Daten“ > „Datenüberprüfung“ > „Datenüberprüfung“.
    • Wähle unter „Zulassen“ die Option „Liste“ aus.
    • Im Feld „Quelle“ gib die Tabellennamen ein, z.B. Tabelle1,Tabelle2,Tabelle3.
  2. Füge den VBA-Code ein:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineDatei)“ > „Einfügen“ > „Modul“.
    • Kopiere den folgenden Code in das Modul:

      Public Tabelle As String
      
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Address = "$C$10" Then
           Tabelle = Target.Value
       End If
       If Target.Address <> "$C$10" And Tabelle <> "" Then
           ActiveWorkbook.Sheets(Tabelle).Select
           Tabelle = ""
       End If
      End Sub
  3. Passe den Code an:

    • Ersetze $C$10 mit der Zelle, die du für deine Dropdown-Liste gewählt hast.
  4. Teste die Funktion:

    • Wähle einen Tabellennamen aus der Dropdown-Liste aus und klicke auf eine andere Zelle, um zu deinem gewählten Tabellenblatt zu springen.

Häufige Fehler und Lösungen

  • Fehler: Auswahl in der Dropdown-Liste funktioniert nicht.

    • Lösung: Stelle sicher, dass der VBA-Code korrekt eingefügt ist und dass die Zelle mit der Dropdown-Liste aktiv ist.
  • Fehler: Der Code läuft nicht ab.

    • Lösung: Achte darauf, dass du in einer Zelle außerhalb der Dropdown-Liste klickst, um das Makro auszulösen.
  • Fehler: Tabellennamen sind falsch geschrieben.

    • Lösung: Überprüfe die Tabellennamen in der Dropdown-Liste und im VBA-Code auf Rechtschreibfehler.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch Hyperlinks nutzen:

  1. Hyperlinks erstellen:

    • Rechtsklicke auf die Zelle, in der du einen Link erstellen möchtest.
    • Wähle „Hyperlink“ und dann „Verknüpfung zu: Platz in diesem Dokument“.
    • Wähle den Tabellennamen aus.
  2. Verwende die Excel-Auswahlliste:

    • Erstelle eine Auswahlliste, die die Hyperlinks zu den jeweiligen Tabellenblättern enthält.

Praktische Beispiele

  1. Dropdown-Liste aus einem anderen Tabellenblatt:

    • Erstelle die Liste der Tabellennamen in einem separaten Tabellenblatt.
    • Verwende diesen Bereich als Quelle für deine Dropdown-Liste in der Übersicht.
  2. Automatisierung mit VBA:

    • Du kannst das Dropdown-Menü so anpassen, dass beim Auswählen eines Elements automatisch eine bestimmte Aktion ausgeführt wird.

Tipps für Profis

  • Tastenkombinationen nutzen: Verwende ALT + ↓, um das Dropdown-Menü schnell zu öffnen.
  • Dropdown-Listen dynamisch gestalten: Nutze die Funktion INDIREKT, um Dropdown-Listen aus einem anderen Tabellenblatt dynamisch zu erstellen.
  • Mehrere Dropdowns erstellen: Du kannst mehrere Dropdown-Listen in Excel erstellen, die auf unterschiedliche Tabellenblätter verweisen.

FAQ: Häufige Fragen

1. Wie kann ich die Dropdown-Liste aus einem anderen Tabellenblatt erstellen?
Du kannst die Datenquelle für die Dropdown-Liste aus einem anderen Tabellenblatt auswählen, indem du den Bereich in der Datenüberprüfung angibst, z.B. ='Tabellenblattname'!A1:A10.

2. Kann ich die Dropdown-Liste anpassen, um Hyperlinks einzufügen?
Ja, du kannst Hyperlinks zu einer Zelle in der Liste hinzufügen, um direkt zu einem anderen Tabellenblatt zu springen.

3. Wie kann ich den Standardtext in der Zelle mit der Dropdown-Liste festlegen?
Füge einfach einen Text in die Zelle ein, bevor du die Dropdown-Liste erstellst. Der Text wird angezeigt, solange nichts ausgewählt ist.

4. Funktioniert das mit Excel 365?
Ja, die beschriebenen Methoden sind mit allen aktuellen Excel-Versionen kompatibel, einschließlich Excel 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige