Auswahl einfügen mit VBA
In diesem Artikel geht es darum, wie wir mit VBA Daten von einer Stelle an eine andere in einem Blatt kopieren und einfügen können.
Auswahl einfügen mit VBA
Copy-Paste hat unsere täglichen Aufgaben in Excel vereinfacht. Um die VBA-Programmierung gut zu beherrschen, müssen wir die Idee der Einfügefunktion lernen.
Es gibt viele Methoden, um Daten von einer Zelle in eine andere einzufügen. Zum einen mit Hilfe eines Zuweisungsoperators, zum anderen mit Hilfe der paste
-Funktion und nicht zuletzt mit der pastespecial
-Funktion.
Lassen Sie uns die VBA-Methode Einfügen
untersuchen, indem wir ein Makro aufzeichnen. Angenommen, wir haben einige Werte in Zelle A1 in Excel; Jetzt werden wir von A1 nach B3 kopieren und einfügen.
Die folgenden Schritte müssen wir beim Aufzeichnen eines Makros befolgen:
- Zuerst müssen wir das Datensatzmakro auswählen, das wir auf der Registerkarte Excel-Entwickler sehen werden.
- Sobald wir auf das Makro aufzeichnen geklickt haben, erscheint der Name des Standardmakros. Jetzt müssen wir nur noch auf OK klicken.
- Jetzt werden alle unsere Aktivitäten aufgezeichnet. Ab sofort müssen wir die gewünschte Zelle, in unserem Fall A1, zum Kopieren auswählen.
- Der nächste Schritt besteht darin, den Befehl Strg+C zu drücken. Dadurch wird unsere ausgewählte Zelle kopiert.
- Jetzt ist es an der Zeit, die Zielzelle B3 auszuwählen, in die wir unsere kopierten Daten mit Excel einfügen möchten.
- Drücken Sie zum Einfügen den Befehl Strg+V. Jetzt können wir die Aufnahme stoppen.
Der Code zum Auswählen der A1-Zelle ist unten dargestellt.
Code:
# vba
Range("A1").Select
Wenn die Zelle kopiert wird, wird ihr Code ausgewählt. Kopieren Sie anstelle von Range("A1")
, da es entweder eine aktive Zelle oder eine Auswahl wird, nachdem Sie die Zelle ausgewählt haben. Hier, in der Codierung, erscheint es also als Auswahl.
Kopieren Sie nun die nächste Zelle, A1, und fügen Sie sie ein. Der Code ist unten gezeigt.
Code:
# vba
Range("B3").Select
Schließlich wird unser Wert eingefügt.
Der Code sagt Active Sheet, weil Sie die einzufügende Zelle ausgewählt haben. Es erscheint als aktive Zelle eines aktiven Blatts.
Der Code für diesen Schritt verwendet ActiveSheet.Paste
. Damit ist die Methode Einfügen
in VBA abgeschlossen.
Die Formel ist wie unten gezeigt.
Expression.Paste (Dest, Url)
Sie können den Ausdruck verstehen, da es sich um den Arbeitsblattnamen handelt, den Sie zum Einfügen ausgewählt haben.
Kopieren und Einfügen in dasselbe Blatt mit VBA
Sehen wir uns nun an, wie wir die VBA-Methode Einfügen
verwenden können, während wir an demselben Blatt arbeiten. Angenommen, wir haben einige Werte aus den Zellen B1 bis B5 übernommen.
Wir werden lernen, den Code nach unseren Bedürfnissen zu schreiben. Hier sind einige Schritte:
Der erste Schritt besteht darin, den gewünschten Datenbereich zu kopieren, um etwas einzufügen. Wir kopieren in unserem Fall den Bereich von B1 bis B5, wie unten gezeigt.
Code:
# vba
Sub CopyExample()
Range("B1:B5").Copy
End Sub
Wenn wir unsere Werte kopiert haben, müssen wir angeben, wo wir sie einfügen möchten; Zu diesem Zweck wählen wir den Arbeitsblattnamen. Da wir dasselbe Blatt einfügen möchten, verwenden wir das aktive Blattobjekt, wie unten gezeigt.
Code:
# vba
Sub CopyExample()
Range("B1:B5").Copy
ActiveSheet.Paste
End Sub
Nachdem wir die Methode Einfügen
ausgewählt haben, müssen wir bestimmen, wo das Ziel ist. In unserem Fall ist es der Bereich D1 bis D5, wie unten gezeigt.
Code:
# vba
Sub CopyExample()
Range("B1:B5").Copy
ActiveSheet.Paste Destination:=Range("D1:D5")
End Sub
Ausgang:
Wir können diesen Code einfach ausführen, indem wir die Taste F5 drücken, und dies erledigt die Aufgabe, Daten von B1 nach B5 zu kopieren und sie in D1 bis D5 einzufügen.
Kopieren und Einfügen spezieller Eigenschaften mit VBA
Mit Hilfe dieser VBA-Funktion können wir auch bestimmte Eigenschaften von Zellen kopieren und einfügen, z. B. spezielle Formate, Werte usw. Es ermöglicht Ihnen, wichtige Einfügeoperationen wie das Überspringen von Leerzeichen und das Transponieren durchzuführen.
Lassen Sie uns ein Beispiel durchgehen, in dem wir versuchen werden, einige spezielle Eigenschaften der kopierten Zellen zu kopieren und einzufügen. Wir können xlPasteFormats
verwenden, um nur die Formatierung der kopierten Zellen einzufügen.
Wir können xlPasteColumnWidths
verwenden, um die Breite der kopierten Spalten einzufügen. Wir können auch xlPasteFormulas
verwenden, um die Formeln aus unseren kopierten Zellen einzufügen.
Code:
# vba
Sub SpecialCopying()
Range("B1").Copy
Range("D1").PasteSpecial Paste:=xlPasteFormats
Range("D1").PasteSpecial Paste:=xlPasteColumnWidths
Range("D1").PasteSpecial Paste:=xlPasteFormulas
Application.CutCopyMode = False
End Sub