Kurzfassung —
Range.Cuthebt Zellen in den Ausschneidemodus der Zwischenablage. Dann legen Sie sie ab, und es gibt genau zwei Wege, die das Gegenteil tun:rng.Cut Destination:=dest(ein Paste) legt die Zellen aufdestund überschreibt es, währendrng.Cutund danndest.Inserteine Lücke öffnet und Zellen beiseite schiebt, sodass nichts verloren geht.Cutverschiebt außerdem — es leert die Quelle — woCopydupliziert. Räumen Sie die Zwischenablage mitApplication.CutCopyMode = Falseauf, wenn Sie fertig sind.
Sub CutBasics()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Data")
ws.Range("A2:D2").Cut ' die Zellen der Zeile aufheben (Laufrahmen)
ws.Range("A10").Insert Shift:=xlDown ' Insert: die ausgeschnittenen Zellen einfuegen - schiebt, ueberschreibt nicht
Application.CutCopyMode = False ' den Zwischenablage-Zustand wegraeumen
End Sub
Cut ist das Verb unter dem Zeilen verschieben und dem
Spalten verschieben. Verstehen Sie, was es in die Zwischenablage legt und die
zwei Wege, es wieder herunterzunehmen, und jeder darauf gebaute Zug verhält sich vorhersehbar.
Was Sie lernen
CutgegenCopy— ein Verschieben leert die Quelle, ein Kopieren lässt sie an Ort und Stelle- Die zwei Abnehmer eines Ausschnitts —
Destination:=/ Paste überschreibt,Insertschiebt - Warum
Application.CutCopyMode = Falsewichtig ist, und was der Laufrahmen wirklich ist - Warum
Cuteinen Mehrbereich (Union) ablehnt, denCopymanchmal toleriert - Warum eine Formel, die auf ausgeschnittene Zellen zeigt, ihnen folgt, anders als ein Löschen, das sie bricht
Cut verschiebt; Copy dupliziert
Der Unterschied in einem Wort ist, wie die Quelle aussieht, wenn Sie fertig sind. Copy lässt die Quelle
genau dort, wo sie war — Sie haben jetzt zwei Kopien. Cut entfernt die Quelle, sobald die Zellen irgendwo
landen — Sie haben eine, an einem neuen Platz:
ws.Range("A2:D2").Copy ws.Range("A20") ' A2:D2 BLEIBT, A20 bekommt ein Duplikat
ws.Range("A2:D2").Cut ws.Range("A20") ' A2:D2 wird GELEERT, A20 bekommt die Originale
Cut ist also zum Verschieben und Copy zum Duplizieren. Zum Verschieben zu Copy zu greifen —
kopieren, dann die Quelle von Hand löschen — ist eine klassische Quelle halbfertiger Verschiebungen, bei
denen die Kopie landet, aber das Löschen vergessen wird oder den falschen Bereich löscht. Ist das Ziel ein
Verschieben, schneiden Sie aus.
Die zwei Wege, das Ausgeschnittene abzulegen
Sind die Zellen einmal im Ausschneidemodus in der Zwischenablage, entscheidet die Art, wie Sie sie ablegen, ob Daten überleben. Diese zwei Zeilen sehen ähnlich aus und tun das Gegenteil:
ws.Range("A2:D2").Cut Destination:=ws.Range("A10") ' PASTE - landet auf A10:D10, ueberschreibt es
ws.Range("A2:D2").Cut
ws.Range("A10").Insert Shift:=xlDown ' INSERT - oeffnet eine Luecke bei A10, schiebt nach unten
Cut Destination:= (und ein manuelles .Cut und dann .Paste) ist ein Paste: Die ausgeschnittenen
Zellen landen auf dem Ziel und überschreiben, was dort war. .Insert nach einem .Cut ist ein
Insert cut cells: Das Ziel und alles dahinter rückt beiseite, um Platz zu machen, und nichts wird
überschrieben. Wählen Sie Paste, wenn das Ziel leer ist und die Zellen genau dort landen sollen; wählen Sie
Insert, wenn Sie Zellen zwischen andere einreihen — das ist ein Verschieben.
CutCopyMode und der Laufrahmen
Nach Range.Cut (oder Copy) ohne Ziel bleibt Excel in einem besonderen Zustand — die Quelle hat einen
laufenden gestrichelten Rahmen, den „Laufrahmen" (die „laufenden Ameisen"), und Excel wartet darauf, dass
Sie einfügen oder mit Insert einreihen. Dieser Zustand ist Application.CutCopyMode, und ihn hängen zu
lassen ist unsauber: Das Nächste, was der Nutzer tut, kann ein versehentliches Einfügen auslösen, und das
Drücken von Escape oder das Bearbeiten einer Zelle bricht ihn auf eine Weise ab, die Ihr Makro nicht
eingeplant hat.
ws.Range("A2:D2").Cut
ws.Range("A10").Insert Shift:=xlDown
Application.CutCopyMode = False ' den Laufrahmen abbrechen, die Zwischenablage freigeben
Cut Destination:= und .Insert schließen die Operation ab und räumen den Modus für Sie auf, dort ist die
zusätzliche Zeile also doppelt gemoppelt. Aber immer wenn Sie .Cut oder .Copy und dann andere Arbeit
erledigen, bevor Sie einfügen, beenden Sie mit Application.CutCopyMode = False, damit Sie Excel nie
mitten im Ausschneiden zurücklassen.
Cut lehnt einen Mehrbereich ab
Cut arbeitet auf einem zusammenhängenden Block. Geben Sie ihm einen Mehrbereich — Zellen, mit Union
verbunden, oder eine Mehrfachauswahl wie Range("A2:D2, A8:D8") — und es wirft einen Laufzeitfehler, denn
es gibt keinen sinnvollen einzelnen Platz, um zwei unverbundene Blöcke abzulegen:
Union(ws.Range("A2:D2"), ws.Range("A8:D8")).Cut ' Laufzeitfehler - Cut braucht einen Block
Copy ist bei formgleichen Mehrbereichen manchmal nachsichtiger, was ein weiterer Grund ist, warum Cut und
Copy nicht austauschbar sind. Um mehrere verstreute Zeilen zu verschieben, schneiden Sie sie einen Block
nach dem anderen aus und fügen sie ein (von unten nach oben, wenn sie gestapelt sind), statt zu versuchen,
alle auf einmal auszuschneiden — siehe Zeilen verschieben.
Cut trägt Verweise mit; Löschen bricht sie
Hier ist die Eigenschaft, die das Ausschneiden zu einem sicheren Zug macht. Wenn Sie Zellen ausschneiden,
schreibt Excel jede Formel um, die auf sie zeigt, sodass die Verweise den Zellen an ihr neues Zuhause
folgen: =Data!B2 liest weiterhin denselben Wert, nachdem B2 nach B40 ausgeschnitten wurde. Das ist
das genaue Gegenteil vom Löschen dieser Zellen, wo eine Formel, die in den
gelöschten Bereich zeigt, zu =#REF! zusammenfällt und kaputt bleibt.
Der Grund liegt in der Bedeutung jedes Verbs. Ein Ausschneiden verlagert Daten — die Daten existieren
weiter, ihre Verweise haben also weiterhin etwas, worauf sie zeigen, und Excel aktualisiert sie. Ein
Löschen zerstört Daten — es bleibt nichts, worauf man zeigen könnte, also brechen die Verweise. Wenn Sie
dieselben Zahlen an einem neuen Platz wollen und jede Formel weiter funktionieren soll, ist Cut das
Werkzeug; wenn die Zahlen weg sollen, rechnen Sie mit den #REF! und räumen sie auf.
Wie ExcelMaster hilft
Cut verbirgt drei Weggabelungen, die alle still scheitern — verschieben oder duplizieren (Cut gegen
Copy), überschreiben oder schieben (Paste gegen Insert) und fertig oder mitten im Ausschneiden
(CutCopyMode) — dazu der Mehrbereich, der glatt einen Fehler wirft. Wählen Sie falsch, bekommen Sie
verlorene Quellzeilen, ein überschriebenes Ziel oder eine Arbeitsmappe, die im Ausschneidemodus feststeckt.
ExcelMaster lässt Sie die Absicht sagen —
„verschiebe diese Zellen unter die Summen, ohne etwas zu überschreiben" — und schneidet aus, statt zu
kopieren, fügt mit Insert ein, statt mit Paste zu überschreiben, verarbeitet die Operation einen
zusammenhängenden Bereich nach dem anderen und räumt CutCopyMode auf, wenn es fertig ist. Sie behalten
die Arbeitsmappe und den Code.
Häufig gestellte Fragen
Was macht Range.Cut in VBA?
Range.Cut legt die Zellen des Bereichs in den Ausschneidemodus der Zwischenablage und zeigt den
Laufrahmen. Für sich allein verschiebt es noch nichts — Sie schließen das Verschieben ab, indem Sie
einfügen (Cut Destination:=, was das Ziel überschreibt) oder .Insert auf dem Ziel aufrufen (was Zellen
beiseiteschiebt und erhält). Sobald die Zellen landen, wird die Quelle geleert.
Was ist der Unterschied zwischen Cut und Copy in VBA?
Cut verschiebt — die Quelle wird geleert, nachdem die Zellen gelandet sind, sodass Sie mit einer Kopie an
einem neuen Platz enden. Copy dupliziert — die Quelle bleibt, und das Ziel bekommt eine zweite Kopie.
Nutzen Sie Cut zum Verschieben, Copy zum Duplizieren; nutzen Sie nicht Kopieren-dann-Löschen als
Verschiebung, das bleibt leicht halb fertig.
Warum sollte ich Application.CutCopyMode = False setzen?
Um den Laufrahmen-Zustand der Zwischenablage nach einem Ausschneiden oder Kopieren abzubrechen. Ihn
anzulassen lädt ein versehentliches Einfügen durch den nächsten Tastendruck ein und lässt Excel mitten in
der Operation warten. Cut Destination:= und .Insert räumen ihn automatisch auf, aber setzen Sie
Application.CutCopyMode = False selbst, wann immer Sie .Cut oder .Copy und dann andere Arbeit
erledigen, bevor Sie einfügen.
Warum wirft VBA einen Fehler, wenn ich einen Union-Bereich ausschneide?
Weil Cut nur einen zusammenhängenden Block verarbeitet. Ein Union oder eine Mehrfachauswahl sind
mehrere unverbundene Blöcke, und es gibt keinen einzelnen Platz, um sie abzulegen, also wirft Cut einen
Laufzeitfehler. Schneiden Sie stattdessen einen Block nach dem anderen aus und fügen ihn ein. (Copy ist
bei formgleichen Mehrbereichen manchmal nachsichtiger.)
Brechen Formelverweise, wenn ich Zellen ausschneide?
Nein — sie folgen. Excel schreibt Formeln, die auf ausgeschnittene Zellen verweisen, so um, dass sie auf
den neuen Ort der Zellen zeigen, und liest weiterhin dieselben Daten. Das ist der Unterschied zum Löschen
von Zellen, das Verweise ohne etwas zum Draufzeigen zurücklässt und sie zu #REF! zusammenfallen lässt.
Getestet in
Getestet in: Excel 365 (Windows 11), VBA 7.1 — zuletzt geprüft am 17.09.2026.
Verwandte Anleitungen: VBA Zeilen verschieben · VBA Spalten verschieben · VBA Kopieren und Einfügen · VBA PasteSpecial · VBA Zeilen löschen
