Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Über Listbox durch die Mappe Navigieren
#1
Hallo Liebe Excel Profis, Huh

ich brauche wiedermal eure Hilfe.
Mein Ziele Ist es über eine User form mit 3 Listboxen durch die Mappe zu Navigieren mit
Die Tabellen namen werden  auf einem Extra Sheet in 3 Spalten Kategorisiert ( Datenbank_Sheets)
Spalte A,B und C

Die Sheetnamen von Datenbank_Sheets A sollen in die Listbox1
Die Sheetnamen von Datenbank_Sheets B sollen in die Listbox2
Die Sheetnamen von Datenbank_Sheets C sollen in die Listbox3

Jede Spalte hat Überschriften und soll quasi ab Zeile 2 Eingelesen werden.

Mit in einem Klick in die Listbox auf dem jeweiligen Sheetnamen möchte ich quasi auf das Blatt springen aber irgendwie will das nicht so richtig der springt zwar durch die Tabellenblätter die ich anwähle aber zeigt immer das Falsche Sheet.
Unten stehend mein Code, ich denke  Ihr könnt bestimmt Abhilfe schaffen. Vielen Dank schon mal.

Code:
Private Sub ListBox1_Click()
    Sheets(ListBox1.ListIndex + 1).Activate
End Sub

Private Sub ListBox2_Click()
    Sheets(ListBox2.ListIndex + 1).Activate
End Sub

Private Sub ListBox3_Click()
    Sheets(ListBox3.ListIndex + 1).Activate
End Sub
Private Sub UserForm_Initialize()
With Worksheets("Datenbank_Sheets")
ListBox1.List = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
ListBox2.List = .Range(.Cells(2, 2), .Cells(Rows.Count, 2).End(xlUp)).Value
ListBox3.List = .Range(.Cells(2, 3), .Cells(Rows.Count, 3).End(xlUp)).Value
End With
End Sub
Top
#2
Hallo,

wer soll nach diesen spärlichen Angaben deine Datei(en) nachbauen, um einen Lösungsvorschlag zu erstellen? Lade die Datei bitte hoch.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hallo,

(22.03.2020, 11:08)toto18 schrieb: Jede Spalte hat Überschriften und soll quasi ab Zeile 2 Eingelesen werden.

Mit in einem Klick in die Listbox auf dem jeweiligen Sheetnamen möchte ich quasi auf das Blatt springen aber irgendwie will das nicht so richtig der springt zwar durch die Tabellenblätter die ich anwähle aber zeigt immer das Falsche Sheet.

entferne die "+ 1" oder nimm ListBoxNr.Value!

Gruß Uwe
Top
#4
Hi Ihr beiden 
also wenn ich das " +1" raus nehme ist es leider immer noch das Gleiche in Grün. Er springt noch auf das falsche Blatt.
Wie müsste denn der Code mit ListBoxNr.Value! aussehen ? 
Top
#5
Moin Uwe!
Das + 1 zu entfernen, dürfte das Problem kaum lösen.
Schließlich beginnt der ListIndex mit 0, welches es nicht als Sheet-Index gibt.

Sicherlich ist der zweite Vorschlag die einzig sinnvolle Lösung, ich würde sogar Sheets(Listboxn.Text) nehmen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#6
(22.03.2020, 11:44)toto18 schrieb: Wie müsste denn der Code mit ListBoxNr.Value! aussehen ? 
Private Sub ListBox1_Click()
Sheets(CStr(ListBox1.Value)).Activate
End Sub
Hier ist jetzt noch eine Umwandlung in Text drin, damit, wenn es eine Zahl ist, nicht der Index, sondern der Name genommen wird.

Gruß Uwe
Top
#7
@ Kuwer Tausend Dank für deine Schnelle Hilfe es Funktioniert 1A :100: :100: :100:

Danke Schön an alle die sich Zeit genommen haben
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste