Clever-Excel-Forum

Normale Version: Combobox: Zugriff auf anderes Tabellenblatt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo miteinander,

ich versuche gerade mit meiner Comboxbox einen Wert aus einem anderen Tabellenblatt ("Tabelle2") abzugreifen, komme hierbei aber leider nicht weiter.
Momentan (sh. Code) hole ich mir die Daten noch aus demselben Tabellenblatt und lasse dabei eigenständig nach dem letzten Eintrag suchen...

Code:
Private Sub UserForm_Initialize()
   ComboBox1.RowSource = Range(Range("AA4"), Range("AA200").End(xlUp)).Address
   ComboBox1.ListIndex = 0
End Sub

Mein Gedanke, das Worksheet direkt anzusprechen, funktioniert leider nicht. 

Code:
Private Sub UserForm_Initialize()
   ComboBox1.RowSource = Worksheet("Tabelle2").Range("A4"), Worksheet("Tabelle2").Range("A200").End(xlUp).Address
   ComboBox1.ListIndex = 0
End Sub

Kann mir jemand eventuell sagen, wo mein Denkfehler liegt? 

Einen schönen Start ins Wochenende.

Bookshelf3011
Hallo Bookshelf3011 ,

Du möchtest doch ein Sheet aus der Worksheets-Auflistung auswählen, nicht wahr? ;)

Gruß  Jonas
Auch Hallo,

vielleicht so?

Code:
Private Sub UserForm_Initialize()
   Dim lngLastRow As Long
  
   With Worksheets("Tabelle2")
   lngLastRow = .Range("AA200").End(xlUp).Row
   ComboBox1.RowSource = .Range("A4:AA" & lngLastRow).Address
   ComboBox1.ListIndex = 0
   End With
End Sub
Hallo Steffl,

dein Code funktioniert wunderbar. Vielen Dank. Nur leider hat sich jetzt ein anderes Problem aufgetan:

Starte ich den Code aus dem Editor (F5) heraus, so zeigt er mir den Inhalt der Combobox nur dann an, wenn ich das Tabellenblatt aktiv ausgewählt habe. Starte ich den Code über einen
Button in einem anderen Tabellenblatt (was der Grundüberlegung entspricht), so ist die Combobox "leer". "Leer" in dem Sinne, das er mir zwar exakt so viele Felder anzeigt, wie Inhalte
im anderen Tabellenblatt eingetragen sind, diese jedoch in der Combobox nicht sichtbar sind. Quasi leere Auswahlfelder...

Gruß

Bookshelf3011
@Jonas0806:

Da hast du natürlich recht. Was ein grundsätzlich blöder Fehler meinerseits. Danke dir.

Gruß

Bookshelf3011
Hallo,

Stefans Vorschlag mit einer kleinen Ergänzung müsste funktionieren:


Code:
Private Sub UserForm_Initialize()
   Dim lngLastRow As Long
  
   With Worksheets("Tabelle2")
   lngLastRow = .Range("AA200").End(xlUp).Row
   ComboBox1.RowSource = "Tabelle2!" & .Range("A4:AA" & lngLastRow).Address
   ComboBox1.ListIndex = 0
   End With
End
Hallo atilla,

vielen Dank für die Ergänzung des Codes. Jetzt funktioniert alles wie es soll.

Noch einen schönen Abend.

Gruß

Bookshelf3011