VBA-plakwaarden

Excel VBA-plakwaarden

Copy & Paste is niet de beste baan ter wereld !!! Maar kopiëren en plakken met een speciale optie vereist enige kennis in VBA. Dit is niet het ongecompliceerde proces als het eenvoudig kopiëren en plakken. Een van de belangrijkste speciale methoden voor plakken is "Waarden plakken" in VBA.

Waarden in Excel plakken met VBA?

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

Voorbeeld # 1 - Plakken speciaal gebruiken

Kijk voor een voorbeeld naar de onderstaande werkbladafbeelding.

In cel B6 hebben we de formule toegepast om de totale verkoopwaarden van B2- tot B5-cellen te berekenen. Als ik nu de cel B6 naar C6 kopieer en plak, krijg ik niet de waarde van 22.761, maar ik krijg de bijbehorende formule.

Om hetzelfde in VBA uit te voeren, hebben we codeerkennis nodig. We laten u zien hoe u waarden plakt met VBA. Volg onderstaande stappen.

Stap 1: Kopieer de cel B6.

Gebruik de code als Bereik ("B6") om de cel B6 te kopiëren

Stap 2: Selecteer de bestemmingscel. In dit geval C6-cel.

Zoals u kunt zien na de kopie, wordt er "Bestemming" gevraagd. Dit is niets anders dan waar je wilt plakken, dus selecteer de "Bestemming" als Bereik ("C6")

Code:

 Sub Paste_Values ​​() Bereik ("B6"). Kopieerbereik ("C6") End Sub 
Stap 3: voer de code uit

Voer deze code uit, we krijgen de B6-kopie in C6.

We hebben hier alleen de formule.

Stap 4: Voer een speciale methode voor plakken uit.

Om de speciale methode plakken uit te voeren, kijken we naar de onderstaande syntaxis van de speciale methode plakken.

Bij de speciale methode plakken hebben we verschillende methoden. Op basis van de bewerking die we uitvoeren, moeten we het type dienovereenkomstig selecteren.

Laten we de code in twee regels opsplitsen om dit te begrijpen.

De eerste is het kopiëren van cel B6.

Schrijf nu in de volgende regel de bestemmingscel als Bereik ("C6")

Om nu de Speciale methode plakken te openen, plaatst u een punt en begint u de letter "P" te typen.

Selecteer in de bovenstaande reeks opties de methode "Plakken speciaal".

Nadat je de methode hebt geselecteerd, druk je op de spatiebalk om de verschillende speciale methoden voor plakken te zien.

Selecteer in deze verscheidenheid aan opties “xlPasteValues”.

Nadat u de optie hebt geselecteerd, drukt u op de tab-toets om automatisch te selecteren.

Code:

 Sub Paste_Values ​​() Bereik ("B6"). Kopieerbereik ("C6"). PasteSpecial xlPasteValues ​​End Sub 

Stap 5: voer de code uit

Voer nu de code uit, we zouden alleen de waarde van cel B6 naar cel C6 moeten krijgen.

Als u het werkblad opmerkt nadat u de code hebt uitgevoerd, bevindt het zich nog steeds in de kopieermodus.

Hierdoor wordt de modus voor knippen en kopiëren uitgeschakeld nadat de speciale methode voor plakken is uitgevoerd.

Voorbeeld # 2 - Plak speciaal met lussen

Speciaal plakken is eenvoudig, maar om dit als onderdeel van een grote code te gebruiken, is een gevorderd niveau van codeervaardigheden vereist.

Kijk voor een voorbeeld naar de onderstaande afbeelding.

In de bovenstaande afbeelding van het werkblad in kolom "F" hebben we de totale kolom, dwz in F2-, F5-, F8-, F11- en F14-cellen.

Nu is mijn vereiste om elke totale cel uit de respectieve cel te kopiëren en in de kolom "H" met de respectieve cellen te plakken.

Met behulp van onderstaande code, met VBA-loops, kunnen we dit doen.

Code:

 Sub Paste_Values1 () Dim k As Integer Dim j As Integer j = 2 Voor k = 1 tot 5 cellen (j, 6) Cellen kopiëren (j, 8) PlakkenSpeciale xlPasteValues ​​j = j + 3 Volgende k End Sub 

Deze code met de speciale optie plakken zal de taak uitvoeren om elke totale cel te kopiëren en in de kolom "H" met de respectieve cellen te plakken.

Voorbeeld # 3 - Kopiëren van werkblad naar een ander

To paste values from one worksheet to another, we need to mention both the worksheet names. Below is an example of that.

 Sub Paste_Values2() Worksheets("Sheet1").Range("A1").Copy Worksheets("Sheet2").Range("A15").PasteSpecial xlPasteValues End Sub