Hallo zusammen,
habe eine umfangreiche Excel-Tabelle mit ca. 20 Tabellenblättern erstellt. Ich möchte in jedem Tabellenblatt ein Listenfeld erstellen, in dem sämtliche Tabellenblätter zur Auswahl stehen. Per Auswahl eines Blattes soll Excel in das selbe springen. Wie geht das (Erstellen eines Listenfeldes und Zuweisung eines Makros „Gehe zu Tabellenblatt“ für jeden Listenfeldeintrag) ???
Grund-Hinweise
Noch ein Tabellenblatt erstellen und dort alle Tabellennamen untereinander reinschreiben.
Listenfelder anlegen (ComboBox), deren Eigenschaften aufklappen, in ListFillRange die Namensliste angeben, auf „Code anzeigen“ gehen, dort beim Change-Ereignis reinschreiben „Sheets(ComboBox01.Value).Activate“.
Das sollte gehen.
Ich würde aber lieber ein globales Makro schreiben mit einem Formular, das eine Listbox enthält. Die kann man dann auch dynamisch füllen. Das Formular kann dann mittels Symbolleiste aufgerufen werden. Stelle ich mir einfacher und vor allem auch übersichtlicher vor, zumal Du den Code nur einmal brauchst und nicht 20mal.
Übrigens kann man die Scroll-Leiste unten auch kleiner machen, so daß die Reiter für die Tabellen mehr Platz haben.
Noch ein Tabellenblatt erstellen und dort alle Tabellennamen
untereinander reinschreiben.
Listenfelder anlegen (ComboBox), deren Eigenschaften
aufklappen, in ListFillRange die Namensliste angeben, auf
„Code anzeigen“ gehen, dort beim Change-Ereignis reinschreiben
„Sheets(ComboBox01.Value).Activate“.
Ich hab gerade versucht auf die oben beschriebene Weise eine Combo-Box einzufügen. Mit zwei Änderungen: ich habe die neue Tabelle mit dem Inhalt der ComboBox auf „Versuch“ umbenannt und die ComboBox selber auf „Test“. Laut Beschreibung müßte ich unter ListFillRange jetzt „Versuch“ eintragen. Dieser Eintrag wird aber immer gelöscht sobald ich die Zeile verlasse. Was mache ich falsch?
Ach ja. Ändert sich der Befehl „Sheets(ComboBox01.Value).Activate“ mit diesen Umbenennungen auf „Sheets(Test.Value).Activate“, oder habe ich auch da einen Denkfehler?