Ausschneiden, Kopieren und Einfügen aus einem Makro - VBA-Codebeispiele

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.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave