Excel VBA-plakwaarden
Copy & Paste is niet de beste baan ter wereld !!! Maar voor het kopiëren en plakken met speciale opties is enige kennis in VBA vereist. 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?
Voorbeeld # 1 - Plakken speciaal gebruiken
Bekijk bijvoorbeeld de onderstaande werkbladafbeelding.
In cel B6 hebben we de formule toegepast om de totale verkoopwaarden van B2- tot B5-cellen te berekenen. Als ik de cel B6 naar C6 kopieer en plak, krijg ik niet de waarde van 22.761, maar wel 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.
Om cel B6 te kopiëren, gebruikt u de code als Bereik ("B6")
Stap 2: Selecteer de bestemmingscel. In dit geval C6 cel.
Zoals je kunt zien na de kopie, wordt er gevraagd: "Bestemming." 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.
Laten we, om de speciale methode plakken uit te voeren, de onderstaande syntaxis van de speciale methode plakken bekijken.
Bij de speciale methode plakken hebben we verschillende methoden. Op basis van de bewerking die we uitvoeren, moeten we het type dienovereenkomstig selecteren.
Om dit te begrijpen, laten we de code in twee regels opsplitsen.
De eerste is het kopiëren van cel B6.
Schrijf nu in de volgende regel de bestemmingscel als Bereik ("C6")
Om 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 u de methode hebt geselecteerd, drukt u 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 bijvoorbeeld naar de onderstaande afbeelding.
In de bovenstaande afbeelding van het werkblad in kolom "F" hebben we een 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 de 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
Om waarden van het ene werkblad naar het andere te plakken, moeten we beide werkbladnamen vermelden. Hieronder ziet u een voorbeeld daarvan.
Sub Paste_Values2 () Werkbladen ("Blad1"). Bereik ("A1"). Kopieer werkbladen ("Blad2"). Bereik ("A15"). PlakkenSpeciale xlPasteValues End Sub