Anhand deines geposteten Code musste man annehmen, dass du ihn mit einem ActiveX-CommandButton im selben Tabellenblatt wie die ComboBox ausführst, denn du beziehst dich mit Me.ComboBox1 auf genau dieses Tabellenblatt. Me. muss man in solchen Fällen aber nicht unbedingt angegeben werden, da sich die ComboBox ja im selben Tabellenblatt wie der CommandButton befindet - deshalb habe ich Me. in meinem Code weggelassen.
Wenn du - wie sich nun herausstellt - das Makro aus einem Standardmodul heraus starten willst, dann kannst du Me. überhaupt nicht verwenden. In solchen Fällen muss man das Steuerelement als OLEObject ansprechen:
Sub Fuellen()
Dim lngLetzte As Long
Dim lngZeile As Long
Dim oobBox As OLEObject
Set oobBox = Worksheets("Tabelle2").OLEObjects("ComboBox1")
oobBox.Object.Clear '<== damit die ComboBox nicht mehrfach gefüllt wird wenn der Code mehrfach ausgeführt wird
With Worksheets("Tabelle1")
lngLetzte = .Cells(Rows.Count, 11).End(xlUp).Row
For lngZeile = 35 To lngLetzte
oobBox.Object.AddItem .Cells(lngZeile, 12)
oobBox.Object.List(oobBox.Object.ListCount - 1, 1) = .Cells(lngZeile, 11)
Next lngZeile
oobBox.Object.ColumnCount = 2
oobBox.Object.ColumnWidths = "20Pt;20 Pt"
End With
End Sub
Gib also bitte das nächstemal zumindest die Startzeile der Prozedur an, damit man genau sehen kann, was für einen Prozedurtyp du meinst - die Zeile End Sub dagegen ist unwichtig.
Bis später, Karin