Ich: „Es geht nicht darum, wie häufig du fällst, sondern wie häufig du wieder aufstehst.“ Polizist: „So funktionieren aber Alkoholtests nicht.“

Seltsam. Wenn ich VBA programmiere, verwende ich NIE die Befehle Activate oder Select. Mit zwei Ausnahmen: ich programmiere Spunganweisungen: „wechsle für den Anwender auf ein bestimmtes Blatt oder auf eine bestimmte Zelle“. Oder: am Ende des Programms soll der Cursor auf einem bestimmten Blatt und/oder auf einer bestimmten Zelle sitzen. Ich setze Verweise auf Zellen:

Sub Kopieren_und_Fertig()
     Dim xlZelle As Range
     Dim i As IntegerSet

     Set xlZelle = ActiveSheet.Range("C2")

     For i = 1 To 50
         xlZelle.Copy Destination:=xlZelle.Offset(i, 0)
     Next

     MsgBox "fertig"

Ich starte das Makro von Excel aus:

Was passiert? man siehst nichts:

Auch wenn der Verweis auf ein anderes Tabellenblatt gesetzt wird:

Set xlZelle = ThisWorkbook.Worksheets(2).Range(„C2“)

Für den Befehl Inhalte einfügen sind zwei Zeilen Code nötig:

With xlZelle.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="m,w,d"
End With

For i = 1 To 50
    xlZelle.Copy
    xlZelle.Offset(i, 0).PasteSpecial Paste:=xlPasteValidation
    Application.CutCopyMode = False
Next i

MsgBox "fertig"

Was geschieht hier:

Der Cursor wandert über den Bildschirm.

Ein Zucken ist auch am Bildschirm zu sehen, wenn die Inhalte auf einem anderen Tabellenblatt eingefügt werden:

Set xlZelle = ThisWorkbook.Worksheets(2).Range(„C2“)

Was tun? Klar: Die Bildschirmaktualisierung ausschalten. Dann funktioniert es! nichts zuckt; nichts zeigt sich …

Application.ScreenUpdating = False

Einfügen, einfügen – immer nur einfügen …

Ich habe gestern eine Excelschulung besucht. Der Trainer hat immer gesagt „klicken Sie auf Einfügen!“ Ich habe immer falsch geklickt. Warum hat er das nicht richtig gesagt?

so viel einfügen ...

so viel einfügen …

Das ist ein sprachliches Problem … An mehreren Stellen verwendet Excel den Begriff „Einfügen“. Eigentlich hätte der Trainer genau sagen müssen – „Klicken Sie auf die Registerkarte „Einfügen“ oder Klicken Sie im Register „Start“ in der Gruppe „Zwischenablage“ auf das Symbol „Einfügen“ oder: Klicken Sie im Register „Start“ in der Gruppe „Zellen“ auf den Befehl „Einfügen / Blatt einfügen“ oder ähnliches.

Übrigens: Kopieren und Einfügen heißt im Englischen Copy & Paste – also eigentlich (hinein)kleben – wurde also im Deutschen anders übersetzt. Deshalb findet sich in der englischen Multifunktionsleiste nur zwei Mal der Befehl „Einfügen“ – als Beschriftung einer Registerkarte und als Symbol im Register „Home“.

Umgekehrt: Auch „Seitenlayout“ gibt es als Registerkarte und als Symbol (in „Ansicht“) – im Englischen „Page Layout“. Auch „Überprüfen“ und „Datenüberprüfung“ kann man leicht verwechseln … (im Englischen: „Review“ und „Data Validation“ …)

Insert (und Paste)

Insert (und Paste)