Makro bricht mit einer Fehlermeldung ab, wenn es über eine Schaltfläche in einem Arbeitsblatt (Tabelle) aufgerufen wird
Immer wieder taucht in Foren die Frage auf, warum zB bei Range("A2").select eine Fehlermeldung "Fehler1004 - Die SelectMethode des Range-Objektes konnte nicht ausgeführt werden." erscheint. Die Ursache liegt häufig darin, dass das Makro über einen Commandbutton aus einer Tabelle heraus aufgerufen wird.
Uwe K hat dazu mal geschrieben:
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”.
Und siehe da , ….. kaum beherzigt man den Rat von Uwe und schon klappts problemlos !Share on Facebook











