Entschuldigung, dass ich die Frage schon wieder stelle, aber ich hoffe immer noch auf eine Antwort für das Focusproblem der ComboBox.
Hier zum Nachvollziehen des Problems auf dem eigenen Rechner ein einfaches Beispiel.
Man setzt auf eine leere neue Tabelle einfach die Steuerelemente ComboBox und Button, und lässt denn Button einen Code ausführen der eine Formatänderung durchführt z.B.
Private Sub CommandButton1_Click()
Tabelle1.Cells(1, 1).Interior.Color = RGB(0, 0, 0)
End Sub
PS: Ich greife immer über die Objektnamen zu, um unabhängig von irgendwelchen Blattnamen zu sein.
Würde man beim Button nicht die Eigenschaft TakeFocusOnClick = False setzen würde er allein schon Fehler 1004 feuern. Setzt man TFOC = False funktioniert er einwandfrei. Erhält jedoch die ComboBox (z.B durch einfaches draufklicken den Focus) und man klickt dann den Knopf (oder irgendwelcher automatischer Code führt Formatierungen aus) dann wird wieder Fehler 1004 gefeuert, da die ComboBox immer den Focus behält. Wenn irgendein Steuerelement den Focus hat, kann man in VBA eben alles machen - ausser Formatierungen, die feuern dann die 1004.
Wie kann ich also verhindern, dass die ComboBox den Focus erhält alá TakeFocusOnClick = False bzw. warum darf ich nur keine Formatierungen machen wenn ein Steuerelement den Focus hat?
Musste das Problem erstmal äußerst 'dirty' lösen, indem ich im DropDown()-Ereignis der ComboBox immer eine Zelle selektiere. Das ist a) nicht schön und erzeugt b) wieder neue Probleme (kein automatisches Schliessen der CBox, Verlorener ListIndex, etc.)
Für 'saubere' Lösung wäre ich wirklich dankbar,
und Entschuldigung für die erneute Störung.
Marko