Kopieren Einfügen in VBA

Das Einfügen in VBA kopieren ähnelt dem, was wir im Excel-Arbeitsblatt tun. So können wir einen Wert kopieren und in eine andere Zelle einfügen. Außerdem können wir mit insert special nur die Werte einfügen. In VBA verwenden wir die Kopiermethode mit der Eigenschaft range to Kopieren Sie einen Wert von einer Zelle in eine andere, und um den Wert einzufügen, verwenden Sie die Arbeitsblattfunktion Paste Special oder Paste-Methode.

Wie kopiere ich das Einfügen in VBA?

Im Folgenden finden Sie einige Beispiele zum Kopieren und Einfügen in Excel mit VBA.

Das Grundlegende, was wir in Excel tun, ist, dass wir kopieren, ausschneiden und die Daten von einer Zelle in eine andere Zelle einfügen. Es bedarf auch keiner besonderen Einführung. Beim Erlernen der VBA-Codierung ist es jedoch wichtig, dasselbe Konzept in der Codierungssprache zu verstehen. Kopieren Einfügen in VBA ist die Routineaufgabe, die wir Tag für Tag in Excel erledigen. Um zuerst zu kopieren, müssen wir entscheiden, welche Zelle kopiert werden soll.

Beispiel 1 - Kopieren und Einfügen von Werten mit dem Bereichsobjekt

Sie können diese VBA Copy Paste Excel-Vorlage hier herunterladen - VBA Copy Paste Excel-Vorlage

Angenommen, Sie haben das Wort "Excel VBA" in der Zelle A1.

Angenommen, Sie möchten die Zelle A1 kopieren, können Sie das VBA RANGE-Objekt verwenden.

Code:

Sub Copy_Example () Bereich ("A1"). End Sub

Sobald Sie auf die Zelle verweisen, können wir alle Eigenschaften und Methoden damit sehen. Wählen Sie also die Methode „ Kopieren “.

Code:

 Sub Copy_Example () Range ("A1"). Copy End Sub 

Drücken Sie nach Auswahl der Methode die Leertaste, um das Argument der Copy-Methode anzuzeigen.

Es heißt Ziel.

Dies ist nichts anderes als der Ort, an dem Sie Werte in VBA kopieren und einfügen möchten, ohne die PASTE-Methode auszuwählen.

Wenn wir dasselbe Blatt einfügen, können wir die Zelle mithilfe des Bereichsobjekts auswählen. Angenommen, wir möchten den Wert in die B3-Zelle einfügen und das Ziel als "Bereich (" B3 ")" festlegen .

Code:

 Sub Copy_Example () Range ("A1"). Copy Destination: = Range ("B3") End Sub 

Dadurch werden die Daten aus Zelle A1 kopiert und in Zelle B3 eingefügt.

Wir können auch die folgende Methode verwenden, um die Daten einzufügen.

Code:

 Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Wählen Sie ActiveSheet.Paste End Sub 

Zuerst kopieren und wählen wir die Daten aus Zelle A1 aus und fügen sie in Zelle B3 ein.

Beispiel 2 - In ein anderes Arbeitsblatt in derselben Arbeitsmappe kopieren

Wenn wir nun den Wert aus den verschiedenen Arbeitsblättern mithilfe des VBA-Makros kopieren und einfügen möchten, müssen wir im Zielargument mithilfe des WORKSHEETS-Objekts auf den Blattnamen verweisen und dann den Zellenbereich in diesem WORKSHEET erwähnen. Der folgende Code erledigt den Job.

Code:

 Sub Copy_Example () Range ("A1"). Copy Destination: = Arbeitsblätter ("Sheet2"). Range ("B3") End Sub 

Wenn wir die Daten von einem bestimmten Blatt kopieren und in ein anderes bestimmtes Blatt einfügen möchten, müssen wir beide Namen der Blätter erwähnen.

Zunächst müssen wir das Kopierblatt erwähnen.

Arbeitsblätter ("Sheet1"). Bereich ("A1"). Kopieren

Dann müssen wir im Zielargument den Namen des Zielarbeitsblatts und den Bereich der Zelle erwähnen.

Ziel: = Arbeitsblätter ("Sheet2"). Bereich ("B3")

Der Code sollte also so aussehen.

Code:

 Sub Copy_Example () Arbeitsblätter ("Sheet1"). Bereich ("A1"). Kopierziel: = Arbeitsblätter ("Sheet2"). Bereich ("B3") End Sub 

Beispiel 3 - Kopieren von einer Arbeitsmappe in eine andere Arbeitsmappe

Wir haben gesehen, wie in derselben Arbeitsmappe von einem Arbeitsblatt in ein anderes Arbeitsblatt kopiert wird. Wir können dies aber auch von einer Arbeitsmappe zu einer anderen Arbeitsmappe tun.

Schauen Sie sich den folgenden Code an.

Code:

 Sub Copy_Example () Arbeitsmappen ("Buch 1.xlsx"). Arbeitsblätter ("Blatt1"). Bereich ("A1"). Arbeitsmappen kopieren ("Buch 2.xlsx"). Aktivieren Sie ActiveWorkbook.Worksheets ("Blatt 2"). Wählen Sie ActiveSheet.Paste End Sub 

Zunächst werden die Daten aus dem Arbeitsblatt „Sheet1“ in der Arbeitsmappe „Book1.xlsx“ aus der Zelle A1 kopiert.

" Arbeitsmappen (" Buch 1.xlsx "). Arbeitsblätter (" Blatt1 "). Bereich (" A1 "). Kopieren"

Dann wird die Arbeitsmappe „Buch 2.xlsx“ aktiviert.

Arbeitsmappen ("Buch 2.xlsx"). Aktivieren

In der aktiven Arbeitsmappe wird das Arbeitsblatt „Blatt 2“ ausgewählt.

ActiveWorkbook.Worksheets ("Blatt 2"). Wählen Sie

Jetzt wird es im aktiven Blatt eingefügt

ActiveSheet.Paste

Alternative Möglichkeit zur Verwendung von Copy Paste in VBA

Wir haben noch eine alternative Möglichkeit, die Daten von einer Zelle in eine andere Zelle zu übertragen. Angenommen, Sie haben das Wort "Excel VBA" in der Zelle A1 und benötigen dasselbe, um in Zelle B3 zu kommen.

Eine Methode, die wir gesehen haben, ist die Verwendung der VBA-Methode zum Kopieren und Einfügen. Jetzt zeige ich Ihnen eine der alternativen Möglichkeiten. Schauen Sie sich den folgenden Code an, um ihn zu verstehen.

Code:

 Sub Copy_Example1 () Range ("A1"). Value = Range ("B3"). Value End Sub 

Das Obige besagt, dass der Wert in der Zelle A1 gleich dem Wert in der Zelle B3 sein sollte.

Bereich ("A1"). Wert = Bereich ("B3"). Wert

Auch wenn dies keine Methode zum Kopieren und Einfügen ist, erhöht dies unser Codierungswissen.

Top-Möglichkeiten zum Kopieren und Einfügen von VBA als Werte

Jetzt sehen wir verschiedene Möglichkeiten zum Kopieren und Einfügen von VBA-Werten. Angenommen, Sie befinden sich in der Zelle A1 (siehe Abbildung unten).

  • If we want to copy and paste we need to reference the cell here, rather we can just use a property of Selection. Copy method.

Code:

 Sub Copy_Example1() Selection.Copy Destination:=Range("B3") End Sub 

OR

 Sub Copy_Example1() ActiveCell.Copy Destination:=Range("B3") End Sub 
  • If you want to copy the entire used range of the worksheet you can use the below code.

Code:

 Sub Copy_Example2() Worksheets("Sheet1").UsedRange.Copy Destination:=Worksheets("Sheet2").Range("A1") End Sub 

This will copy the entire used range in the worksheet “Sheet1” and will paste the same in the worksheet “Sheet2”