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

per Kombinationsfeld auf Tabellen springen!

Forumthread: 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

Anzeige

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! ,-)

Anzeige
;

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