AW: UserForm ComboBox aus andere sheet1
27.04.2013 01:11:50
Mustafa
Hallo Mehmet,
Diese Schreibweise :
varArray = Range(Cells(1, 1), Cells(Cells(65536, 2).End(xlUp).Row, 6))
greift immer auf das Aktive Tabellenblatt.
Wenn du auf ein bestimmtes Tabellenblatt zugreifen möchtest dann so:
varArray = Worksheets("Tabelle1").Range(Worksheets("Tabelle1").Cells(1, 1), Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Cells(65536, 2).End(xlUp).Row, 6))
Der Übersichtlichkeit halber mache ich das dann aber lieber so:
Private Sub UserForm_Activate()
Dim varArray As Variant
Dim Wks1 As Worksheet
Set Wks1 = Worksheets("Tabelle1")
' varArray = Range(Cells(1, 1), Cells(Cells(65536, 1).End(xlUp).Row, 3))
varArray = Wks1.Range(Wks1.Cells(1, 1), Wks1.Cells(Wks1.Cells(65536, 2).End(xlUp).Row, 6))
ComboBox1000.List = varArray
End Sub
Vor jede Range oder Cells Anweisung den Bezug auf das richtige Tabellenblatt zuweisen
Oder so :
Private Sub UserForm_Activate()
Dim varArray As Variant
Dim Wks1 As Worksheet
Set Wks1 = Worksheets("Tabelle1")
With Wks1
' varArray = .Range(.Cells(1, 1), .Cells(.Cells(65536, 1).End(xlUp).Row, 3))
varArray = .Range(.Cells(1, 1), .Cells(.Cells(65536, 2).End(xlUp).Row, 6))
End With
ComboBox1000.List = varArray
End Sub
Da Alle Range und Cells Zuweisungen sich auf das gleiche Tabellenblatt beziehen
mit der With End With anweisung und dem vorangehenden Punkt vor den Range bzw Cells Anweisungen
den Bezug auf die Tabelle 1 setzen.
Rückmeldung ob es hilft wäre nett.
Gruß aus der Domstadt Köln.