ich habe eine ComboBox in ein Tabellenblatt eingefügt und folgendes Makro hinterlegt:
Private Sub ComboBox1_Change()
Dim rZelle As Range
Worksheets("Cockpit").Activate
Do While ComboBox1.ListCount > 0
ComboBox1.RemoveItem (0)
Loop
With ComboBox1
For Each rZelle In ThisWorkbook.Worksheets("Ablage").Range("A3:A300")
If Trim(rZelle.Value) "" Then
.AddItem rZelle.Value
End If
Next rZelle
End With
End Sub
Das Makro bewirkt, dass Werte aus einem Bereich ohne Leerzeilen im Drop-Down der Combobox angezeigt werden. Nun möchte ich das Makro in ein weiteres integrieren, damit sich die Liste automatisch aktualisiert, wenn ein neuer Wert in die Quelle geschrieben wird.
Ich habe versucht das Makro per "Call" auzurufen. Dafür habe ich es in das Modul 1 übernommen, wo auch das Makro steht, welches per Call das obenstehende aufrufen soll.
Wenn ich nun das übergeordnete Makro aufrufe, kommt die Fehlermeldung "Object required" an der Stelle "Do While...". Da meine VBA Künste mehr als bescheiden sind, verstehe ich das Problem einfach nicht. Ich dachte erst es läge daran, dass ich das "Option Explicit" vergessen habe aber dann möchte er die ComboBox als Variable definiert haben.
Warum kann ich das Makro problemfrei so ausführen, bekomme aber einen Fehler, wenn es als Call aufgerufen werden soll?
Vielen Dank für Eure Hilfe und Erklärungen! Bis jetzt habe ich noch immer etwas hier gelernt ;-)