Kopieer en plak in VBA

Kopiëren Plakken in VBA is vergelijkbaar met wat we doen in Excel-werkblad, zoals we een waarde kunnen kopiëren en in een andere cel kunnen plakken, we kunnen ook plakken speciaal gebruiken om alleen de waarden te plakken, op dezelfde manier gebruiken we in VBA de kopieermethode met bereikeigenschap om kopieer een waarde van de ene cel naar de andere en om de waarde te plakken gebruiken we de werkbladfunctie plak speciaal of plak methode.

Hoe te kopiëren en plakken in VBA?

Hieronder vindt u enkele voorbeelden van kopiëren en plakken in Excel met VBA.

Het belangrijkste dat we in Excel doen, is dat we de gegevens kopiëren, knippen en plakken van de ene cel naar de andere. Het vereist ook geen speciale introductie. Hoewel het leren van VBA-codering belangrijk is om hetzelfde concept in codeertaal te begrijpen. Copy Paste in VBA is de routinetaak die we dagelijks in Excel uitvoeren. Om eerst te kunnen kopiëren, moeten we beslissen welke cel we willen kopiëren.

Voorbeeld # 1 - Kopieer en plak waarden met behulp van een bereikobject

U kunt deze VBA Copy Paste Excel-sjabloon hier downloaden - VBA Copy Paste Excel-sjabloon

Stel dat u het woord "Excel VBA" in cel A1 hebt staan.

Laten we bijvoorbeeld zeggen dat als u cel A1 wilt kopiëren, we het VBA RANGE-object kunnen gebruiken.

Code:

Sub Copy_Example () Bereik ("A1"). Einde Sub

Op het moment dat u naar de cel verwijst, kunnen we alle eigenschappen en methoden ermee zien. Selecteer dus de methode “ Kopiëren ”.

Code:

 Sub Copy_Example () Bereik ("A1") Kopieer End Sub 

Druk na het selecteren van de methode op de spatiebalk om het argument van de kopieermethode te zien.

Er staat bestemming.

Dit is niets anders dan waar wilt u waarden in VBA kopiëren en plakken zonder de PASTE-methode te selecteren.

Als we in hetzelfde blad plakken, kunnen we de cel selecteren met behulp van het Range-object. Laten we zeggen dat als we de waarde in de B3-cel willen plakken, we de bestemming als "Bereik (" B3 ")" kunnen plaatsen .

Code:

 Sub Copy_Example () Bereik ("A1"). Kopieerbestemming: = Bereik ("B3") End Sub 

Hiermee worden de gegevens uit cel A1 gekopieerd en in cel B3 geplakt.

We kunnen ook de onderstaande methode gebruiken om de gegevens te plakken.

Code:

 Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Selecteer ActiveSheet.Paste End Sub 

Eerst kopiëren en selecteren we de gegevens uit cel A1 en plakken in cel B3.

Voorbeeld # 2 - Kopiëren naar een ander werkblad in dezelfde werkmap

Als we nu de waarde van de verschillende werkbladen willen kopiëren en plakken met behulp van de VBA-macro, dan moeten we in het bestemmingsargument naar de bladnaam verwijzen met behulp van het WORKSHEETS-object en vervolgens het celbereik in dat WERKBLAD vermelden. De onderstaande code zal het werk doen.

Code:

 Sub Copy_Example () Bereik ("A1"). Kopieerbestemming: = Werkbladen ("Blad2"). Bereik ("B3") End Sub 

Als we de gegevens van een bepaald blad willen kopiëren en in een ander bepaald blad willen plakken, moeten we beide namen van de bladen vermelden.

Allereerst moeten we het kopieerblad vermelden.

Werkbladen ("Blad1"). Bereik ("A1"). Kopiëren

Vervolgens moeten we in het bestemmingsargument de beoogde werkbladnaam en het bereik van de cel vermelden.

Bestemming: = Werkbladen ("Blad2"). Bereik ("B3")

Dus de code zou dit leuk moeten vinden.

Code:

 Sub Copy_Example () Werkbladen ("Blad1"). Bereik ("A1"). Kopieerbestemming: = Werkbladen ("Blad2"). Bereik ("B3") End Sub 

Voorbeeld # 3 - Kopiëren van de ene werkmap naar een andere werkmap

We hebben gezien hoe u van een werkblad naar een ander werkblad in dezelfde werkmap kopieert. Maar we kunnen dit ook van de ene werkmap naar de andere werkmap doen.

Bekijk de onderstaande code.

Code:

 Sub Copy_Example () Werkmappen ("Boek 1.xlsx"). Werkbladen ("Blad1"). Bereik ("A1"). Kopieer werkmappen ("Boek 2.xlsx"). Activeer ActiveWorkbook.Worksheets ("Blad 2"). Selecteer ActiveSheet Plak End Sub 

Ten eerste kopieert het de gegevens van het werkblad "Blad1" in de werkmap "Boek1.xlsx" vanuit cel A1.

" Werkmappen (" Boek 1.xlsx "). Werkbladen (" Blad1 "). Bereik (" A1 "). Kopiëren"

Vervolgens wordt de werkmap "Boek 2.xlsx" geactiveerd.

Werkmappen ("Boek 2.xlsx") Activeer

In de actieve werkmap wordt het werkblad "Blad 2" geselecteerd

ActiveWorkbook.Worksheets ("Blad 2"). Selecteer

Nu in het actieve blad, zal het plakken

ActiveSheet.Paste

Alternatieve manier om Copy Paste in VBA te gebruiken

We hebben nog een alternatieve manier om de gegevens van de ene cel naar de andere te verplaatsen. Stel dat je het woord "Excel VBA" in cel A1 hebt staan ​​en je hebt hetzelfde nodig om in cel B3 te komen.

Een methode die we hebben gezien, is het gebruik van de VBA-methode voor kopiëren en plakken, nu zal ik u een van de alternatieve manieren laten zien. Bekijk het onderstaande stukje code om het te begrijpen.

Code:

 Sub Copy_Example1 () Bereik ("A1"). Waarde = Bereik ("B3"). Waarde End Sub 

Het bovenstaande zegt dat de waarde in cel A1 gelijk moet zijn aan de waarde in cel B3.

Bereik ("A1"). Waarde = Bereik ("B3"). Waarde

Ook al is dit geen kopieer- en plakmethode, voegt nog steeds meer waarde toe aan onze codeerkennis.

Topmanieren van VBA kopiëren en plakken als waarden

Nu zullen we verschillende manieren zien om VBA-waarden te kopiëren en te plakken. Stel dat u zich in cel A1 bevindt, zoals weergegeven in de onderstaande afbeelding.

  • Als we willen kopiëren en plakken, moeten we hier naar de cel verwijzen, in plaats daarvan kunnen we gewoon de eigenschap Selectie gebruiken. Kopieer methode.

Code:

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

OF

 Sub Copy_Example1 () ActiveCell.Copy Destination: = Bereik ("B3") End Sub 
  • Als u het volledige gebruikte bereik van het werkblad wilt kopiëren, kunt u de onderstaande code gebruiken.

Code:

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

Hiermee wordt het volledige gebruikte bereik in het werkblad "Blad1" gekopieerd en hetzelfde in het werkblad "Blad2" geplakt