Macro voor kopiëren en plakken van het ene werkblad naar het andere (15 methoden)

  • Deel Dit
Hugh West

Inhoudsopgave

Wanneer we te maken hebben met meerdere Excel sheets, moeten we soms gegevens kopiëren van de ene spreadsheet naar de andere. Het implementeren van VBA is de meest effectieve, snelste en veiligste methode om elke bewerking in Excel uit te voeren. In dit artikel laten we u zien hoe u gegevens kopiëren en plakken van het ene werkblad naar het andere in Excel met de VBA-macro .

Werkboek downloaden

U kunt de gratis oefen Excel-werkmap hier downloaden.

Kopiëren en plakken van het ene werkblad naar het andere.xlsm

15 Methoden met VBA om gegevens te kopiëren en te plakken van het ene werkblad naar het andere in Excel

In dit deel leer je 15 methoden hoe je gegevens uit een werkblad kopiëren en in een ander werkblad plakken met VBA in Excel.

Hierboven staat de dataset die in dit artikel als voorbeeld zal dienen.

1. Embed VBA-macro om een gegevensbereik van het ene naar het andere werkblad te kopiëren en te plakken

De stappen naar een reeks gegevens kopiëren en plakken van het ene werkblad naar het andere met VBA worden hieronder beschreven.

Stappen:

  • Druk in het begin op Alt + F11 op uw toetsenbord of ga naar de tab Ontwikkelaar -> Visual Basic om te openen Visual Basic-editor .

  • In het pop-up codevenster, klik in de menubalk op Invoegen -> Module .

  • Nu, kopieer de volgende code en pasta het in de codevenster .
 Sub CopyPasteToAnotherSheet() Werkbladen("Dataset").Range("B2:F9").Copy Worksheets("CopyPaste").Range("B2") End Sub 

Uw code is nu klaar om te draaien.

Dit stukje code zal kopieer het bereik van B2 naar F9 van de blad met de naam Dataset en plak die in de B2 Bereik in de CopyPaste genoemd blad .

  • Druk vervolgens op F5 op uw toetsenbord of selecteer in de menubalk Run -> Run Sub/UserForm U kunt ook gewoon op de klein pictogram Play in de submenubalk om de macro uit te voeren.

Kijk naar de volgende afbeelding.

Ten slotte zijn alle gegevens van de Dataset blad wordt nu gekopieerd in de CopyPaste blad in onze Excel-werkmap.

Lees meer: Excel VBA: Bereik kopiëren naar een andere werkmap

2. VBA-macro voor het kopiëren en plakken van gegevens van het ene actieve werkblad naar het andere in Excel

In de vorige sectie hebben we het werkblad niet hoeven te activeren. Maar in deze sectie zullen we leren hoe je gegevens kopiëren en plakken in een actief werkblad .

Stappen:

  • Dezelfde manier als voorheen, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • In het codevenster, kopieer de volgende code en pasta het.
 Sub CopyPasteToAnotherActiveSheet() 'Kopieer gegevens van bronvel Sheets("Dataset").Range("B2:F9").Copy 'Activeer doelvel Sheets("Paste").Activate 'Selecteer doelbereik Range("B2").Select 'Plak in bestemming ActiveSheet.Paste Application.CutCopyMode = False End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren de code zoals hierboven getoond en zie het resultaat in de volgende afbeelding.

Deze keer zijn alle gegevens van de Dataset blad wordt nu gekopieerd in de Plakken blad dat we activeerden voordat we de gegevens kopieerden.

Lees meer: Excel Formule om tekst van een cel naar een ander blad te kopiëren

3. Een enkele cel kopiëren en plakken van het ene naar het andere werkblad in Excel met een VBA-macro

In de bovenstaande paragrafen hebt u geleerd hoe u een gegevensbereik kunt kopiëren en plakken van het ene werkblad naar het andere. Nu zult u zien hoe u kopiëren en plakken als je een enkel stuk data in uw Excel-spreadsheet.

Kijk naar de volgende afbeelding, de Bereik blad bestaat uit slechts één waarde.

We zullen zien hoe we kopieer en plak deze ene cel in een ander blad in Excel met VBA .

Stappen:

  • Zoals hierboven getoond, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • In het codevenster, kopieer de volgende code en pasta
 Sub CopyPasteSingleRangeToAnotherSheet() Worksheets("Range").Range("B4").Copy Worksheets("CopyRange").Range("B2") End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren dit stukje code en zie het volgende beeld.

Die enkele gegevens " Kopieer deze cel " in Cel B4 in de Dataset blad wordt nu gekopieerd in de CopyRange blad in Cel B2 .

Lees meer: Excel VBA om alleen waarden naar de bestemming te kopiëren (Macro, UDF en UserForm)

4. Gekopieerde gegevens van het ene werkblad naar het andere plakken met de methode PasteSpecial in Excel Macro

U kunt gegevens uit een werkblad kopiëren en die plakken op verschillende manieren met Excel's PasteSpecial methode met VBA De stappen om dat te doen staan hieronder.

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyPasteSpecial() Werkbladen("Dataset").Range("B2:F9").Copy Werkbladen("PasteSpecial").Range("B2").PasteSpecial End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren dit stukje code.

Kijk naar bovenstaande afbeelding. Gegevens van de Dataset blad wordt nu overgebracht in de PasteSpecial blad in Excel.

Lees meer: VBA-plakken om waarden en formaten in Excel te kopiëren (9 voorbeelden)

5. Macro voor het kopiëren en plakken van gegevens onder de laatste cel van het ene naar het andere werkblad in Excel

We hebben al wat gegevens in de Dataset blad (getoond in de inleiding). Kijk nu naar het volgende deel van dit deel. We hebben nu wat nieuwe gegevens in een ander blad met de naam Laatste Cel .

Wat we hier willen doen is, we zullen kopieer specifieke gegevens (cellen B5 tot en met F9) van de Dataset blad en pasta die in onder de laatste cel van deze Laatste Cel blad.

Stappen:

  • Ten eerste, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Ten tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyPasteBelowTheLastCell() 'Variabelen instellen Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Variabelen instellen voor bron- en doelblad Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Last Cell") 'Zoek de laatst gebruikte rij in het bronblad op basis van gegevens in kolom B iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'Zoek de eerste lege rij in het doelblad op basis van gegevens in kolom B 'De eigenschap Offset is om de gekopieerde gegevens 1 rij naar beneden te verplaatsen iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Kopieer gegevens van de bron en plak ze in de bestemming wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B" &; iTargetLastRow) End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren deze code. Kijk naar de afbeelding hieronder.

Hier, alleen de geselecteerde gegevens van de Dataset blad is nu gekopieerd onder de laatste cel in de Laatste Cel blad in Excel.

Lees meer: Formule voor het kopiëren en plakken van waarden in Excel (5 voorbeelden)

6. VBA-macro om eerst werkblad te wissen en dan te kopiëren en te plakken naar een ander werkblad

Wat als je de verkeerde gegevens in je bestaande blad hebt en je wilt de oorspronkelijke gegevens er uit halen.

Kijk naar de volgende afbeelding. We zullen de gegevens van de Duidelijk bereik blad en sla hier de gegevens op van de Dataset blad met VBA code.

Stappen:

  • Ten eerste, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Ten tweede, kopieer de volgende code en pasta in het codevenster.
 Sub ClearAndCopyPasteData() 'Variabelen instellen Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Variabelen instellen voor bron- en doelblad Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Clear Range") 'Zoek de laatst gebruikte rij in het bronblad op basis van gegevens in kolom B iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'Zoek de eerste lege rij in het doelblad op basis van gegevens in kolom B 'Offset eigenschap is om de gekopieerde gegevens 1 rij naar beneden te verplaatsen iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Wis gegevens uit het doelbereik wsTarget.Range("B5:F9" & iTargetLastRow).ClearContents 'Kopieer gegevens van de bron en plak in de bestemmingwsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B5") End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren dit stukje code. Kijk naar de volgende afbeelding.

De vorige gegevens in de Duidelijk bereik blad wordt nu vervangen door de gegevens van de Dataset blad.

Lees meer: Macro voor het kopiëren van gegevens van de ene werkmap naar de andere op basis van criteria

7. Macro voor het kopiëren en plakken van gegevens van het ene werkblad naar het andere met de functie Range.Copy

Nu zullen we de VBA code over hoe gegevens kopiëren en plakken van het ene werkblad naar het andere met de Range.Copy functie in Excel.

Stappen:

  • Ten eerste, open Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Ten tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyWithRangeCopyFunction() 'Variabelen instellen Dim wsSource als werkblad Dim wsTarget als werkblad 'Variabelen instellen voor bron- en doelblad Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Copy Range") 'Gegevens uit de bron kopiëren en in de bestemming plakken Call wsSource.Range("B2:F9").Copy(wsTarget.Range("B2")) End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren dit stukje code en kijk naar de volgende afbeelding.

Wij hebben met succes gegevens gedupliceerd van de Dataset blad in de Kopiëren Bereik blad met de Range.Copy functie.

Lees meer: Excel Formule om celwaarde naar een andere cel te kopiëren

Vergelijkbare lezingen

  • Excel VBA om rijen naar een ander werkblad te kopiëren op basis van criteria
  • VBA gebruiken om alleen waarden te plakken zonder opmaak in Excel
  • Hoe alleen zichtbare cellen kopiëren en plakken in Excel (3 eenvoudige manieren)
  • Kopiëren en plakken werkt niet in Excel (9 redenen & oplossingen)
  • Hoe meerdere rijen kopiëren in Excel met behulp van Macro (4 voorbeelden)

8. Macrocode implementeren om gegevens te dupliceren van het ene werkblad naar het andere met de eigenschap USEDRANGE

Deze keer zullen we de VBA code over hoe gegevens kopiëren en plakken van het ene werkblad naar het andere met de UsedRange attribuut in Excel.

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyWithUsedRange() 'Variabelen instellen Dim wsSource als werkblad Dim wsTarget als werkblad 'Variabelen instellen voor bron- en doelblad Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("UsedRange") 'Gegevens uit de bron kopiëren en in de bestemming plakken Call wsSource.UsedRange.Copy(wsTarget.Cells(2, 2)) End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren dit stukje code.

Zoals we in de bovenstaande afbeelding kunnen zien, hebben we met succes gegevens gekopieerd en geplakt van de Dataset blad in de UsedRange blad met de GEBRUIKSAANWIJZING eigendom.

Lees meer: Hoe dezelfde waarde kopiëren naar meerdere cellen in Excel (4 methoden)

9. VBA Macro voor kopiëren en plakken van geselecteerde gegevens van het ene blad naar het andere in Excel

U kunt alleen geselecteerde gegevens kopiëren en plakken van het ene werkblad naar het andere met VBA De stappen om dat te doen staan hieronder.

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyPasteSelectedData() 'Variabelen instellen Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Variabelen instellen voor bron- en doelblad Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Paste Selected") 'Gegevens kopiëren uit de bron wsSource.Range("B4:F7").Copy 'Gegevens plakken in de bestemming Call wsTarget.Range("B2").PasteSpecial(Paste:=xlPasteValues) End Sub 

Uw code is nu klaar om te draaien.

Deze code zal kopieer alleen het bereik van B4 tot F7 van de Dataset blad en plak die in de B2 Bereik in de PasteSelected genoemd blad .

  • Volgende, Ren deze code.

Ten slotte worden alleen de geselecteerde gegevens van de Dataset blad zijn succesvol gekopieerd en geplakt in de Gekozen plakken blad in Excel werkmap.

Lees meer: Hoe VBA PasteSpecial toepassen en bronopmaak behouden in Excel

10. Macrocode om gegevens van het ene naar het andere werkblad te kopiëren bij de eerste lege rij

Hier zullen we zien hoe je kopieergegevens van de Dataset blad en pasta die in de eerste lege cel in een ander werkblad in Excel met VBA .

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub FirstBlankCell() Range("B2:F9", Range("B" & Rows.Count).End(xlUp)).Copy Sheet13.Range("A65536").End(xlUp) End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren dit stuk code.

Zie de afbeelding hierboven. Sheet13 was helemaal leeg. Als gevolg daarvan plakte de uitgevoerde code de gekopieerde gegevens van de Dataset blad in de zeer eerste cel in de Sheet13 blad in Excel.

Lees meer: Waarden kopiëren en plakken naar de volgende lege rij met Excel VBA (3 voorbeelden)

11. VBA inbouwen om de automatisch gefilterde gegevens van het ene Excel-blad naar het andere te kopiëren en te plakken

We kunnen de brongegevensverzameling filteren en alleen de gefilterde gegevens kopiëren en plakken in een ander werkblad Volg dit artikel om te leren hoe je dat stap voor stap doet met VBA .

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Option Explicit Sub AutoFilter() Range("B4:B101").AutoFilter 1, "Dean" Range("B4:F9").Copy Sheet17.Range("B" & Rows.Count).End(xlUp)(2) Range("B4").AutoFilter End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren deze code. Alleen de rij die " Dean " erin, wordt gefilterd en gekopieerd naar een ander blad.

Merk op dat in de bovenstaande afbeelding alleen de gefilterde gegevens " Dean " van de B Kolom wordt nu gekopieerd en geplakt in de Sheet15 blad.

Lees meer: Kopiëren en plakken in Excel met VBA (7 methoden)

Vergelijkbare lezingen

  • Automatisch filteren en kopiëren van zichtbare rijen met Excel VBA
  • Unieke waarden kopiëren naar een ander werkblad in Excel (5 methoden)
  • Hoe samengevoegde en gefilterde cellen kopiëren in Excel (4 methoden)
  • Run Time Error 1004: PasteSpecial Methode van Range Class mislukt
  • Koppeling plakken en omzetten in Excel (8 snelle manieren)

12. Een rij onderaan een bereik plakken met behoud van de gekopieerde formule uit het bovenliggende bereik

Wanneer u een waarde kopiëren en de formule erin houden terwijl je het in een andere rij plakt, dan met VBA code kun je de taak gemakkelijk uitvoeren.

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub PasteRowWithFormulaFromAbove() Rows(Range("B" & Rows.Count).End(xlUp).Row).Copy Rows(Range("B" & Rows.Count).End(xlUp).Row + 1).Insert xlDown End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren deze code en kijk naar de afbeelding hieronder.

De de laatste rij wordt precies zo gekopieerd in de rij ernaast.

Lees meer: Hoe automatisch gegevens kopiëren van de ene cel naar de andere in Excel

13. VBA voor het kopiëren van gegevens van een blad naar een ander blad in een andere geopende maar niet opgeslagen werkmap

Let op de naam van onze voorbeeld werkmap, Bronnenwerkboek We zullen de gegevens kopiëren van de Dataset blad uit deze werkmap en plak het in een ander werkblad in een andere werkmap met de naam Bestemming Werkboek dat is open maar nog niet opgeslagen .

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub KopieerEenVanAndereNietOpgeslagen() Werkmappen("Bronwerkmap").Werkbladen("Dataset").Bereik("B2:F9").Kopiëren Werkmappen("Bestemmingswerkmap").Werkbladen("Blad1").Bereik("B2") Einde Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren deze code.

Gegevens van de Dataset blad in de Bronnenwerkboek wordt nu gekopieerd in de Blad1 blad in de Bestemming Werkboek .

Lees meer: Excel VBA: Celwaarde kopiëren en in een andere cel plakken

14. Macro voor het kopiëren van gegevens van een blad naar een ander blad in een andere geopende en opgeslagen werkmap

Deze keer zullen we kopieer de gegevens van de Dataset blad van de Bronnenwerkboek en pasta het in de Sheet2 werkblad in de Bestemming Werkboek Maar nu, de werkmap is geopend en opgeslagen .

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyOneFromAnotherSaved() Werkmappen("Source Workbook.xlsm").Worksheets("Dataset").Range("B2:F9").Copy _ Werkmappen("Destination Workbook.xlsx").Worksheets("Sheet2").Range("B2") End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren deze code.

Gegevens van de Dataset blad in de Bronnenwerkboek wordt nu gekopieerd in de Sheet2 blad in de Bestemming Werkboek En kijk naar de naam, dit werkboek werd opgeslagen deze keer.

Lees meer: Kopiëren en plakken in Excel zonder het formaat te wijzigen

15. VBA toepassen om gegevens te kopiëren en te plakken van een werkblad naar een ander werkblad in een andere gesloten werkmap

In de vorige twee delen hebben we geleerd hoe we gegevens kunnen kopiëren en plakken van het ene werkblad naar het andere in een andere geopende werkmap. In dit deel zullen we de code leren hoe we gegevens kopiëren en plakken wanneer de werkmap wordt gesloten .

Stappen:

  • Open eerst Visual Basic-editor van de Ontwikkelaar tab en Plaats a Module in het codevenster.
  • Tweede, kopieer de volgende code en pasta in het codevenster.
 Sub CopyOneFromAnotherClosed() 'Om de op uw systeem opgeslagen werkmap te openen 'verander het onderstaande pad overeenkomstig de locatie van uw bestand in uw systeem Workbooks.Open "D:\ExcelWIKI\Excel FolderDestination Workbook.xlsx" 'Kopieert gegevens uit de werkmap met de naam Source Workbook en 'Plakt deze in de doelwerkmap met de naam Destination Workbook Workbooks("SourceWorkbook").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("Destination Workbook").Worksheets("Sheet3").Range("B2") 'Sluit de doelwerkmap na het opslaan Workbooks("Destination Workbook").Close SaveChanges:=True End Sub 

Uw code is nu klaar om te draaien.

  • Volgende, Ren deze code.

Ook al werd deze keer de werkmap gesloten, toch werden na de uitvoering van de code gegevens uit de Dataset blad in de Bronnenwerkboek wordt nu gekopieerd in de Blad3 blad in de Bestemming Werkboek .

Lees meer: Excel VBA om gegevens uit een andere werkmap te kopiëren zonder deze te openen

Dingen om te onthouden

  • Methoden 1 tot 14 vereisen dat uw werkmappen worden geopend Vergeet niet bij het uitvoeren van de macrocodes in deze methoden zowel de bron- als de doelwerkmap open te houden.
  • Terwijl uw werkmappen worden opgeslagen schrijf dan de bestandsnaam met het bestandstype in de code. Wanneer de werkmappen niet worden opgeslagen, schrijf dan alleen de bestandsnaam zonder het type bestand. Bijvoorbeeld, als uw werkboek is opgeslagen schrijf dan " Bestemming. xlsx ", maar als de werkboek is niet opgeslagen schrijf dan " Bestemming " in de code.

Conclusie

Dit artikel liet zien hoe je gegevens kopiëren en plakken van het ene werkblad naar het andere in Excel met VBA Ik hoop dat dit artikel nuttig voor je is geweest. Voel je vrij om vragen te stellen als je vragen hebt over het onderwerp.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.