Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

214 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige