Vyjmutí, kopírování a vložení z makra - příklady kódu VBA

V tomto tutoriálu se naučíte několik různých metod kopírování a vkládání a vyjímání a vkládání pomocí makra VBA. Pokročilejší možnosti kopírování a vkládání si přečtěte v doprovodném tutoriálu o vkládání hodnot a PasteSpecial.

Chcete -li použít tento kód: Otevřete editor jazyka Visual Basic (Alt + F11), Vložte nový modul (Vložit> Modul) a zkopírujte a vložte požadovaný kód do modulu.

Zkopírujte (vyjměte) a vložte jednu buňku

Tento příklad zkopíruje nebo vyjme a vloží jednu buňku, od A1 do B1:

123456789 Sub Paste_OneCell ()„Zkopírujte a vložte jednu buňkuRozsah („A1“). Rozsah kopírování („B1“)„Vyjmout a vložit jednu buňkuRozsah ("A1"). Řezný rozsah ("B1")End Sub

Kopírovat výběr

Pokud chcete zkopírovat aktivní výběr, použijte toto:

123456789101112 Dílčí výběr kopie ()„Vložit do definovaného rozsahuRozsah výběru.kopie ("b1")'Offset Paste (odsadí 2 buňky dolů a 1 doprava.'Výběr. KopieSelection.offset (2,1). PastaApplication.CutCopyMode = FalseEnd Sub

Zkopírujte (vyjměte) a vložte řadu buněk

Tento příklad zkopíruje nebo vystřihne a vloží řadu buněk, A1: A3 až B1: B3:

123456789 Sub Paste_Range ()„Zkopírujte a vložte řadu buněkRozsah ("A1: A3"). Rozsah kopírování ("B1: B3")„Vystřihněte a vložte řadu buněkRozsah ("A1: A3"). Řezný rozsah ("B1: B3")End Sub

Zkopírujte (vyjměte) a vložte celý sloupec

Níže si ukážeme pár rychlých příkladů. Přečtěte si náš článek o kopírování a vkládání řádků a sloupců, kde najdete podrobné příklady, vysvětlení a varianty.

Tento příklad zkopíruje nebo vyjme a vloží celý sloupec, od A do B:

12345678910 Sub PasteOneColumn ()„Zkopírujte a vložte sloupecRozsah („A: A“). Rozsah kopírování („B: B“)„Vyjmout a vložit sloupecRozsah ("A: A"). Řezný rozsah ("B: B")End Sub

Zkopírujte (vyjměte) a vložte celý řádek

Tento příklad zkopíruje nebo vystřihne a vloží celý řádek od 1 do 2:

12345678910 Sub Paste_OneRow ()„Zkopírujte a vložte řádekRozsah („1: 1“). Rozsah kopírování („2: 2“)`` Vystřihněte a vložte řádekRozsah („1: 1“). Řezný rozsah („2: 2“)End Sub

Zkopírujte (vyjměte) a vložte do jiného listu nebo sešitu

1234567891011121314 Sub Paste_Other_Sheet_or_Book ()'Vyjmout nebo zkopírovat a vložit do jiného listuPracovní listy ("list1"). Rozsah ("A1"). Kopírovat pracovní listy ("list2"). Rozsah ("B1") 'KopírovatPracovní listy („list1“). Rozsah („A1“). Vyjmout pracovní listy („list2“). Rozsah („B1“) 'Vyjmout„Vyjmout nebo zkopírovat a vložit do jiného sešituSešity ("book1.xlsm"). Pracovní listy ("list1"). Rozsah ("A1"). Kopírovat _Sešity ("book2.xlsm"). Pracovní listy ("list1"). Rozsah ("B1") 'KopírovatSešity („book1.xlsm“). Pracovní listy („list1“). Rozsah („A1“). Vyjmout _Sešity ("book2.xlsm"). Pracovní listy ("list1"). Rozsah ("B1") 'VyjmoutApplication.CutCopyMode = FalseEnd Sub

Vložit hodnotu

Normálně při kopírování a vkládání vkládáte všechny vlastnosti buňky: formátování, vzorce atd.… Vkládání hodnot umožňuje kopírovat a vkládat hodnoty buněk a nic jiného. Nejjednodušší způsob, jak vložit hodnotu ve VBA, je přímo definovat hodnotu buňky:

123456789101112131415 Vložit podhodnotu ()'Vložit buňky hodnotyRozsah („B1“). Hodnota = Rozsah („A1“). HodnotaRozsah ("B1: B3"). Hodnota = rozsah ("A1: A3"). Hodnota'Nastavit hodnoty mezi listyPracovní listy ("list2"). Rozsah ("A1"). Hodnota = pracovní listy ("list1"). Rozsah ("A1"). Hodnota'Nastavit hodnoty mezi sešitySešity ("book2.xlsm"). Pracovní listy ("list1"). Rozsah ("A1"). Hodnota = _Sešity ("book1.xlsm"). Pracovní listy ("list1"). Rozsah ("A1"). HodnotaApplication.CutCopyMode = FalseEnd Sub

Vložit speciální

Vložit jinak vám umožňuje zkopírovat a vložit specifické vlastnosti buněk (příklady: formáty, hodnoty, šířky sloupců atd.). Umožňuje také provádět speciální operace vložení (příklady: přeskočit mezery, transponovat). Podíváme se na několik příkladů níže, ale pro hloubku si přečtěte náš návod na vkládání hodnot a speciální vkládání.

12345678910111213141516171819 Sub PasteSpecial ()'Proveďte jednu speciální operaci vložení:Rozsah („A1“). Zkopírujte'Vložit formátyRozsah ("B1"). PasteSpecial Paste: = xlPasteFormats'Vložit šířky sloupcůRozsah ("B1"). PasteSpecial Paste: = xlPasteColumnWidths`` Vložit vzorceRozsah ("B1"). PasteSpecial Paste: = xlPasteFormulas'Proveďte více operací vložení najednou:Rozsah („A1“). Zkopírujte'Vložit formáty a transponovatRozsah ("B1"). PasteSpecial Paste: = xlPasteFormats, operace: = xlNone, SkipBlanks: = _False, Transpose: = TrueApplication.CutCopyMode = FalseEnd Sub

Jasná schránka

Po kopírování a vkládání možná budete chtít schránku vymazat (v některých příkladech kódu výše). Pro vymazání schránky Excelu nastavíme Application.CutCopyMode na False:

1 Application.CutCopyMode = False

Toto vymaže schránku aplikace Excel. Schránku Windows však nevymaže. Chcete -li vymazat schránku okna, postupujte podle pokynů zde.

wave wave wave wave wave