Knippen, kopiëren en plakken vanuit een macro - VBA-codevoorbeelden

In deze zelfstudie leert u verschillende methoden om te kopiëren en plakken en knippen en plakken met behulp van een VBA-macro. Lees de begeleidende tutorial over Value Pasting en PasteSpecial voor meer geavanceerde kopieer- en plakopties.

Om deze code te gebruiken: Open de Visual Basic Editor (Alt + F11), Voeg een nieuwe module in (Invoegen > Module) en kopieer & plak de gewenste code in de module.

Kopieer (knippen) en plak een enkele cel

Dit voorbeeld kopieert of knipt en plakt een enkele cel, A1 naar B1:

123456789 Sub Paste_OneCell()'Kopieer en plak één cel'Bereik ("A1"). Bereik kopiëren ("B1")'Knip en plak één cel'Bereik ("A1"). Snijbereik ("B1")Einde sub

Selectie kopiëren

Als u de actieve selectie wilt kopiëren, gebruikt u dit:

123456789101112 Sub Kopie Selectie()'Plakken naar een gedefinieerd bereik'Selectie.kopieerbereik ("b1")'Verschuiving plakken (verschuift 2 cellen naar beneden en 1 naar rechts)Selectie.kopiërenSelectie.offset(2,1).plakkenApplication.CutCopyMode = FalseEinde sub

Een reeks cellen kopiëren (knippen) en plakken

Dit voorbeeld kopieert of knipt en plakt een reeks cellen, A1:A3 naar B1:B3:

123456789 Sub Paste_Range()'Kopieer en plak een reeks cellen'Bereik ("A1:A3"). Bereik kopiëren ("B1:B3")'Knip en plak een reeks cellen'Bereik ("A1:A3"). Snijbereik ("B1:B3")Einde sub

Kopieer (knippen) en plak een hele kolom

Hieronder zullen we een paar snelle voorbeelden demonstreren. Lees ons artikel over het kopiëren en plakken van rijen en kolommen voor gedetailleerde voorbeelden, uitleg en variaties.

Dit voorbeeld kopieert of knipt en plakt een hele kolom, A naar B:

12345678910 Sub plakkenOneColumn()'Kopieer en plak kolom'Bereik ("A: A"). Bereik kopiëren ("B: B")'Kolom knippen en plakken'Bereik ("A:A"). Snijbereik ("B:B")Einde sub

Kopieer (knippen) en plak een hele rij

Dit voorbeeld kopieert of knipt en plakt een hele rij, van 1 naar 2:

12345678910 Sub Paste_OneRow()'Kopieer en plak rij'Bereik ("1:1"). Bereik kopiëren ("2:2")'Knip en plak rij'Bereik ("1:1"). Snijbereik ("2:2")Einde sub

Kopiëren (knippen) en plakken naar een ander werkblad of werkmap

1234567891011121314 Sub Paste_Other_Sheet_or_Book()'Knip of kopieer en plak naar een ander werkblad'Werkbladen("blad1").Bereik("A1").Kopieer werkbladen("blad2").Bereik("B1") 'KopiërenWorksheets("sheet1").Bereik("A1").Cut Worksheets("sheet2").Bereik("B1") 'Cut'Knip of kopieer en plak in een andere werkmap'Werkmappen ("book1.xlsm"). Werkbladen ("sheet1"). Bereik ("A1"). Kopieer _Werkmappen ("book2.xlsm"). Werkbladen ("sheet1"). Bereik ("B1") 'KopiërenWerkmappen ("book1.xlsm"). Werkbladen ("sheet1"). Bereik ("A1"). Knip _Werkmappen ("book2.xlsm"). Werkbladen ("sheet1"). Bereik ("B1") 'KnippenApplication.CutCopyMode = FalseEinde sub

Waarde Plakken

Normaal gesproken, wanneer u kopieert en plakt, plakt u alle eigenschappen van een cel: opmaak, formules, enz … Met Waardeplakken kunt u de waarden van cellen kopiëren en plakken en niets anders. De eenvoudigste manier om Value Paste in VBA te plakken, is door de waarde van de cel rechtstreeks te definiëren:

123456789101112131415 SubwaardePlakken()'Waarde plakken cellen'Bereik ("B1").waarde = Bereik ("A1").waardeBereik ("B1:B3").waarde = Bereik ("A1:A3").waarde'Waarden instellen tussen werkbladen'Worksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value'Waarden instellen tussen werkmappen'Werkmappen("book2.xlsm").Werkbladen("sheet1").range("A1").value = _Werkmappen("book1.xlsm").Werkbladen("sheet1").range("A1").valueApplication.CutCopyMode = FalseEinde sub

Plakken speciaal

Met Plakken speciaal kunt u specifieke eigenschappen van cellen kopiëren en plakken (voorbeelden: opmaak, waarden, kolombreedtes, enz.). U kunt er ook speciale plakbewerkingen mee uitvoeren (voorbeelden: spaties overslaan, transponeren). We zullen hieronder verschillende voorbeelden bekijken, maar voor een diepgaande lees onze tutorial over Value Pasting en Paste Special.

12345678910111213141516171819 Sub Plakken Speciaal()'Voer een speciale plakbewerking uit:Bereik ("A1"). Kopiëren'Indelingen plakken'Bereik ("B1").Plakken Speciaal Plakken:=xlPasteFormats'Kolombreedtes plakken'Bereik ("B1").Plakken Speciaal Plakken:=xlPlakkenColumnWidths'Plak formules'Range("B1").Plakken Speciaal Plakken:=xlPlakkenFormules'Voer meerdere speciale plakbewerkingen tegelijk uit:Bereik ("A1"). Kopiëren'Opmaak plakken en transponeren'Range("B1").PlakkenSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _False, Transponeren:=TrueApplication.CutCopyMode = FalseEinde sub

Klembord wissen

Na het kopiëren en plakken wil je misschien het klembord wissen (in sommige van de bovenstaande codevoorbeelden doen we dat). Om het Excel-klembord te wissen, stellen we Application.CutCopyMode in op False:

1 Application.CutCopyMode = False

Hiermee wordt het klembord van Excel gewist. Het zal het Windows Klembord echter niet wissen. Volg de instructies hier om het klembord van het venster te wissen.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave