- Kopieren (Ausschneiden) und Einfügen einer einzelnen Zelle
- Auswahl kopieren
- Kopieren (Ausschneiden) und Einfügen eines Zellbereichs
- Kopieren (Ausschneiden) und Einfügen einer ganzen Spalte
- Kopieren (Ausschneiden) und Einfügen einer ganzen Zeile
- Kopieren (Ausschneiden) und Einfügen in ein anderes Arbeitsblatt oder eine andere Arbeitsmappe
- Werte einfügen
- Spezial einfügen
In diesem Tutorial lernen Sie verschiedene Methoden zum Kopieren und Einfügen und Ausschneiden und Einfügen mithilfe eines VBA-Makros kennen. Lesen Sie das begleitende Tutorial zum Einfügen von Werten und PasteSpecial für erweiterte Kopier- und Einfügeoptionen.
So verwenden Sie diesen Code: Öffnen Sie den Visual Basic-Editor (Alt + F11), Fügen Sie ein neues Modul ein (Einfügen > Modul) und kopieren Sie den gewünschten Code und fügen Sie ihn in das Modul ein.
Kopieren (Ausschneiden) und Einfügen einer einzelnen Zelle
In diesem Beispiel wird eine einzelne Zelle kopiert oder ausgeschnitten und eingefügt, A1 in B1:
123456789 | Sub Paste_OneCell()'Einzelzelle kopieren und einfügenBereich("A1").Bereich kopieren("B1")'Einzelzelle ausschneiden und einfügenRange("A1").Cut Range("B1")End Sub |
Auswahl kopieren
Wenn Sie die aktive Auswahl kopieren möchten, verwenden Sie Folgendes:
123456789101112 | Sub CopySelection()'In einen definierten Bereich einfügenSelection.copy range("b1")'Offset Paste (versetzt 2 Zellen nach unten und 1 nach rechts)Auswahl.KopieAuswahl.offset(2,1).pasteApplication.CutCopyMode = FalseEnd Sub |
Kopieren (Ausschneiden) und Einfügen eines Zellbereichs
In diesem Beispiel wird ein Zellbereich kopiert oder ausgeschnitten und eingefügt, A1:A3 in B1:B3 :
123456789 | Unter Paste_Range()'Kopieren und Einfügen eines ZellbereichsBereich("A1:A3").Bereich kopieren("B1:B3")'Ausschneiden und Einfügen einer Reihe von ZellenBereich("A1:A3").Schnittbereich("B1:B3")End Sub |
Kopieren (Ausschneiden) und Einfügen einer ganzen Spalte
Im Folgenden zeigen wir ein paar schnelle Beispiele. Lesen Sie unseren Artikel zum Kopieren und Einfügen von Zeilen und Spalten für detaillierte Beispiele, Erklärungen und Variationen.
In diesem Beispiel wird eine ganze Spalte kopiert oder ausgeschnitten und eingefügt, A nach B:
12345678910 | Unter PasteOneColumn()'Spalte kopieren und einfügenRange("A:A").Copy Range("B:B")'Spalte ausschneiden und einfügenRange("A:A").Cut Range("B:B")End Sub |
Kopieren (Ausschneiden) und Einfügen einer ganzen Zeile
In diesem Beispiel wird eine ganze Zeile kopiert oder ausgeschnitten und eingefügt, 1 bis 2:
12345678910 | Sub Paste_OneRow()'Zeile kopieren und einfügenRange("1:1").Copy Range("2:2")'Zeile ausschneiden und einfügenBereich("1:1").Schnittbereich("2:2")End Sub |
Kopieren (Ausschneiden) und Einfügen in ein anderes Arbeitsblatt oder eine andere Arbeitsmappe
1234567891011121314 | Unter Paste_Other_Sheet_or_Book()'Ausschneiden oder kopieren und in ein anderes Arbeitsblatt einfügenWorksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'CopyWorksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Ausschneiden'Ausschneiden oder kopieren und in eine andere Arbeitsmappe einfügenWorkbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Copy _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'KopierenWorkbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Cut _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'AusschneidenApplication.CutCopyMode = FalseEnd Sub |
Werte einfügen
Normalerweise fügen Sie beim Kopieren und Einfügen alle Eigenschaften einer Zelle ein: Formatierung, Formeln usw. Mit dem Einfügen von Werten können Sie die Werte der Zellen kopieren und einfügen und sonst nichts. Der einfachste Weg zum Einfügen von Werten in VBA besteht darin, den Wert der Zelle direkt zu definieren:
123456789101112131415 | UnterwertPaste()'Zellen zum Einfügen von WertenRange("B1").value = Range("A1").valueRange("B1:B3").value = Range("A1:A3").value'Werte zwischen Arbeitsblättern festlegenWorksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value'Werte zwischen Arbeitsmappen festlegenWorkbooks("book2.xlsm").Worksheets("sheet1").range("A1").value = _Workbooks("book1.xlsm").Worksheets("sheet1").range("A1").valueApplication.CutCopyMode = FalseEnd Sub |
Spezial einfügen
Mit Paste Special können Sie bestimmte Eigenschaften von Zellen kopieren und einfügen (Beispiele: Formate, Werte, Spaltenbreiten usw.). Außerdem können Sie spezielle Einfügevorgänge ausführen (Beispiele: Leerzeichen überspringen, transponieren). Wir werden uns im Folgenden einige Beispiele ansehen, aber für eine ausführlichere Lektüre lesen Sie unser Tutorial zum Einfügen von Werten und Einfügen von Inhalten.
12345678910111213141516171819 | Sub PasteSpecial()'Führen Sie eine spezielle Operation zum Einfügen aus:Bereich("A1").Kopieren'Formate einfügenRange("B1").PasteSpecial Paste:=xlPasteFormats'Spaltenbreiten einfügenRange("B1").PasteSpecial Paste:=xlPasteColumnWidths'Formeln einfügenRange("B1").PasteSpecial Paste:=xlPasteFormulas'Führen Sie mehrere Spezialoperationen zum Einfügen gleichzeitig aus:Bereich("A1").Kopieren'Formate einfügen und transponierenRange("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _Falsch, Transponieren:=WahrApplication.CutCopyMode = FalseEnd Sub |
Zwischenablage löschen
Nach dem Kopieren und Einfügen möchten Sie möglicherweise die Zwischenablage löschen (wir tun dies in einigen der obigen Codebeispiele). Um die Excel-Zwischenablage zu löschen, setzen wir Application.CutCopyMode auf False:
1 | Application.CutCopyMode = False |
Dadurch wird die Zwischenablage von Excel gelöscht. Die Windows-Zwischenablage wird jedoch nicht gelöscht. Um die Zwischenablage des Fensters zu löschen, folgen Sie den Anweisungen hier.