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-sjabloonStel 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