Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

per Kombinationsfeld auf Tabellen springen!

per Kombinationsfeld auf Tabellen springen!
23.05.2008 11:51:00
Jessica
Hallo zusammen...
stehe mal wieder vor einer Grundsatzsfrage, wie ich einen Code am geschicktesten aufbaue, bzw. wie dieser mit wenigen Zeichen zum erwünschten Ziel führt.
Hintergrund:
Ich habe 2 verschiedene Kombinationsfelder auf einer Userform sitzen, die ich zur Navigation durch meine immer größer werdende Mappe benutzen möchte. Sheetnamen werden ausgeblendet, sind also nur über die Navigation zu erreichen. Die Navigation ist stets geöffnet.
Die Kombinationsfelder:
cbo_1: 10 Sheets sind anzusteuern
cbo_2: 10 weitere (!) Sheets sind anzusteuern
Ich würde das Ganze mit if-then lösen:
If cbo_1.Value = "Kriterium1" Then Worksheet "Kriterium1" auswählen end if end sub
Hätte also pro cbo-Feld 10 if-then Codes bei einem Change-Ereignis des cbo-Feldes sitzen...
Gibt es da eine elegantere Lösung?
jetzt schon mal Euch allen ein schönes Wochenende! ;-)
LG
Jessica

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per Kombinationsfeld auf Tabellen springen!
23.05.2008 12:01:00
Rudi
Hallo,
ganz einfach und ohne If:
Worksheets(cbo1.value).activate
Gruß
Rudi

...hätte ich besser vorher erwähnen sollen!
23.05.2008 12:32:00
Jessica
Hallo Rudi,
Danke für Deine rasche Rückmeldung!
Habe mir dieses AddIn mal angeschaut, werde ich mir merken, ist TOP. Ebenso die Anweisung:
Worksheets(cbo1.value).activate
Ich tätigte allerdings leider die Auswahl nicht über das Anzeigen der Sheetnamen, d.h bei mir ist leider ein Sheet "Tabelle1" nicht als "Tabelle1" in meinem Kombinationsfeld als Auswahlkriterium hinterlegt. Habe ich vergessen zu sagen... Sorry ;-/.
Sonst könnte ich Worksheets(cbo1.value).activate ja optimal einbauen.
Wenn das Auswahlkriterium - wie in meinem Falle - anders lautet als der Sheetname "Tabelle1" , wäre dann If-Then die bessere Alternative, auch wenn diese keine Schreibfaule fröhlich stimmt? ;-)
LG

Anzeige
AW: ...hätte ich besser vorher erwähnen sollen!
23.05.2008 13:00:00
Rudi
Hallo,
das macht man mit einer Select Case-Anweisung.
Ich würde allerdings die Sheetnamen in ein Array packen.
arrSheetNames=Array("Blatt1", "Tabelle32", "Testsheet", "Tabbelle1")
Sheets(arrSheetNames(cbo1.Listindex)).activate
Gruß
Rudi

AW: ...hätte ich besser vorher erwähnen sollen!
23.05.2008 15:38:27
Jessica
Hallo Rudi,
gibt es bei dem Array irgendwie Einschränkungen hinsichtliches der Tabellenblätter-Namen?
Habe folgende Tabellenblätternamen verwendet:
arrSheetNames = Array("1_B+P(D)", "1_B+N(D)", "1_B+P(Übersicht)", "1_B+N(Übersicht)")
Sheets(arrSheetNames(cbo_navi.ListIndex)).Activate
Beim Change-Ereignis springt es auch auf ein Blatt, aber meist nicht auf jenes, welches von mir ausgewählt wurde? Muss ich dazu noch was wissen mit den Umgang von Arrays?
LG

Anzeige
Testdatei erforderlich?
23.05.2008 15:40:39
Jessica
Kann bzgl. der Arrays auch noch gerne eine Testdatei mal hochladen.
LG

hat sich erledigt!!!
23.05.2008 15:49:14
Jessica
manchmal sieht man vor lauter Bäumen den Wald nicht mehr,
hatte in dem kombinationsfeld noch
.ListIndex = "0" und zusätzlich noch einen weiteren ausdruck mit additem "[Variante]" drin
also zu viel Auswahlmöglichkeiten und zu wenig indexvarianten im array
DANKE!!!!!!!!!! jetzt klappts! ,-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige