Immer wieder wird in Foren die Frage gestellt:
"Warum bricht mein Makro mit einer Fehlermeldung ab,
wenn ich es über eine Schaltfläche in einem Arbeitsblatt(Tabelle) aufrufe?"
Der Grund ist, dass die Befehlsschaltfläche(CommandButton) aus der Steuerelemente-Toolbox
eine Eigenschaft hat, die im
Default
auf 'True', also 'Ein', steht:
TakeFocusOnClick
Diese Einstellung bewirkt, dass bei Klick auf den Button
dieser den Fokus behält. Dadurch sind die meisten die Tabelle(n)
betreffenden Aktionen nicht mehr möglich.
Testen Sie es selber: Fügen Sie eine Befehlsschaltfläche
aus der Steuerelemente-Toolbox in ein Tabellenblatt ein.
Schalten Sie dann den Entwurfsmodus aus.
Nun klicken Sie auf diese Schaltfläche.
Sie werden sehen, das die meisten Symbole in der Menüleiste
deaktiviert wurden. Erst bei einem Klick in eine Zelle
sind diese wieder verfügbar.
Also langer Rede kurzer Sinn: Sie müssen entweder die
TakeFocusOnClick-Eigenschaft auf False setzen oder
in die zugehörige VBA-Prozedur folgende Zeile einfügen:
ActiveCell.Activate
Das sieht zwar irgendwie sinnlos aus, bewirkt jedoch "Wunder".