VBA – Ausschneiden, Kopieren, Einfügen aus einem Makro
In this Article
- Kopieren/Ausschneiden und Einfügen einer einzelnen Zelle
- Auswahl kopieren
- Kopieren/Ausschneiden und Einfügen eines Zellenbereichs
- 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 Arbeitsmappe
- Wert einfügen
- Inhalte einfügen
- VBA-Programmierung leicht gemacht
In diesem Lehrgang lernen Sie verschiedene Methoden zum Kopieren und Einfügen sowie zum Ausschneiden und Einfügen mit einem VBA-Makro kennen. Lesen Sie das begleitende Tutorial über das Einfügen von Werten und PasteSpecial, um mehr über die erweiterten Kopier- und Einfügeoptionen zu erfahren. 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 in das Modul
Kopieren/Ausschneiden und Einfügen einer einzelnen Zelle
In diesem Beispiel wird eine einzelne Zelle, A1, kopiert oder ausgeschnitten und in B1 eingefügt:
Sub Einfügen_EineZelle()
'Einzelne Zelle kopieren und einfügen
Range("A1").Copy Range("B1")
'Einzelne Zelle ausschneiden und einfügen
Range("A1").Cut Range("B1")
End Sub
Auswahl kopieren
Wenn Sie die aktuelle Auswahl kopieren möchten, verwenden Sie dies:
Sub AuswahlKopieren()
'Einfügen in einen definierten Bereich
Selection.copy range("b1")
'Versatz Einfügen (Versatz von 2 Zellen nach unten und 1 nach rechts)
Selection.copy
Selection.offset(2,1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Kopieren/Ausschneiden und Einfügen eines Zellenbereichs
Dieses Beispiel kopiert oder schneidet aus und fügt einen Bereich von Zellen, A1:A3, in B1:B3 ein:
Sub Einfuegen_Bereich()
'Kopieren und Einfügen eines Bereichs von Zellen
Range("A1:A3").Copy Range("B1:B3")
'Ausschneiden und Einfügen eines Bereichs von Zellen
Range("A1:A3").Cut Range("B1:B3")
End Sub
Kopieren/Ausschneiden und Einfügen einer ganzen Spalte
Im Folgenden werden wir einige schnelle Beispiele zeigen. In unserem Artikel über das Kopieren und Einfügen von Zeilen und Spalten finden Sie ausführliche Beispiele, Erklärungen und Variationen. In diesem Beispiel wird eine ganze Spalte, A, kopiert oder ausgeschnitten und in B eingefügt:
Sub EinfuegenEineSpalte()
'Spalte kopieren und einfügen
Range("A:A").Copy Range("B:B")
'Spalte ausschneiden und einfügen
Range("A:A").Cut Range("B:B")
End Sub
Kopieren/Ausschneiden und Einfügen einer ganzen Zeile
Dieses Beispiel kopiert eine ganze Zeile oder schneidet sich aus und fügt sie von 1 nach 2 ein:
Sub Einfuegen_EineZeile()
'Zeile kopieren und einfügen
Range("1:1").Copy Range("2:2")
'Zeile ausschneiden und einfügen
Range("1:1").Cut Range("2:2")
End Sub
Kopieren/Ausschneiden und Einfügen in ein anderes Arbeitsblatt oder Arbeitsmappe
Sub Einfuegen_Anderes_Arbeitsblatt_oder_Arbeitsmappe()
'Ausschneiden oder Kopieren und Einfügen in ein anderes Arbeitsblatt
Worksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'Kopieren
Worksheets("Blatt1").Range("A1").Cut Worksheets("Blatt2").Range("B1") 'Ausschneiden
'Ausschneiden oder Kopieren und Einfügen in eine andere Arbeitsmappe
Workbooks("Mappe1.xlsm").Worksheets("Blatt1").Range("A1").Copy _
Workbooks("Mappe2.xlsm").Worksheets("Blatt1").Range("B1") 'Kopieren
Workbooks("Mappe1.xlsm").Worksheets("Blatt1").Range("A1").Cut _
Workbooks("Mappe2.xlsm").Worksheets("Blatt1").Range("B1") 'Ausschneiden
Application.CutCopyMode = False
End Sub
Wert einfügen
Normalerweise fügen Sie beim Kopieren und Einfügen alle Eigenschaften einer Zelle ein. Dies bedeutet Formatierung, Formeln usw. Mit Value Paste können Sie die Werte einer Zelle kopieren und einfügen und nichts anderes. Der einfachste Weg, Value Paste in VBA zu verwenden, ist es, den Wert der Zelle direkt zu definieren:
Sub WertEinfuegen()
'Zellenwerte einfügen
Range("B1").Value = Range("A1").Value
Range("B1:B3").Value = Range("A1:A3").Value
'Werte zwischen Arbeitsblättern festlegen
Worksheets("Blatt2").Range("A1").Value = Worksheets("Blatt1").Range("A1").Value
'Werte zwischen Arbeitsmappen festlegen
Workbooks("Mappe2.xlsm").Worksheets("Blatt1").Range("A1").Value = _
Workbooks("Mappe1.xlsm").Worksheets("Blatt1").Range("A1").Value
Application.CutCopyMode = False
End Sub
Inhalte einfügen
Mit PasteSpecial können Sie bestimmte Eigenschaften von Zellen kopieren und einfügen (Beispiele: Formate, Werte, Spaltenbreiten usw.). Außerdem können Sie damit spezielle Einfügeoperationen durchführen (Beispiele: Leerzeichen überspringen, Transponieren). Nachfolgend werden wir uns einige Beispiele ansehen, aber wenn Sie es genauer wissen wollen, lesen Sie unser Tutorial über das Einfügen von Werten und PasteSpecial.
Sub InhalteEinfuegen()
'Führen Sie "Inhalte einfügen" durch:
Range("A1").Copy
'Einfügen von Formaten
Range("B1").PasteSpecial Paste:=xlPasteFormats
'Einfügen von Spaltenbreiten
Range("B1").PasteSpecial Paste:=xlPasteColumnWidths
'Formeln einfügen
Range("B1").PasteSpecial Paste:=xlPasteFormulas
'Mehrere PasteSpecial-Operationen auf einmal durchführen:
Range("A1").Copy
'Einfügen von Formaten und Transponieren
Range("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
End Sub
Zwischenablage löschen
Nach dem Kopieren und Einfügen möchten Sie vielleicht die Zwischenablage löschen. Das tun wir in einigen der obigen Codebeispielen. Um die Excel-Zwischenablage zu löschen, setzen wir Application.CutCopyMode auf False:
Application.CutCopyMode = False
Dadurch wird die Zwischenablage von Excel gelöscht. Die Windows-Zwischenablage wird jedoch nicht gelöscht. Um die Windows-Zwischenablage zu löschen, folgen Sie den Anweisungen hier.
VBA-Programmierung leicht gemacht
Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro – einen VBA-Code-Builder, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu programmieren!