VBA Kopírovat Vložit | Nejlepší způsoby kopírování a vkládání ve VBA (s příklady)

Copy Paste in VBA is similar to what we do in Excel Excel, like we can copy a value and paste it to another cell also we can use paste special to paste only the values, similarly in VBA we use the copy method with range property to zkopírujte hodnotu z jedné buňky do druhé a pro vložení hodnoty použijeme funkci listu vložit speciální nebo vložit metodu.

Jak kopírovat Vložit do VBA?

Níže uvádíme několik příkladů, jak kopírovat vložit do aplikace Excel pomocí VBA.

Základní věcí, kterou v aplikaci Excel děláme, je kopírování, vyjímání a vkládání dat z jedné buňky do druhé. Také to nevyžaduje žádné zvláštní představení. Při učení kódování VBA je však důležité porozumět stejnému konceptu v kódovacím jazyce. Kopírovat Vložit do VBA je rutinní úkol, který děláme každý den v aplikaci Excel. Aby bylo možné nejprve kopírovat, musíme se rozhodnout, kterou buňku zkopírovat.

Příklad č. 1 - Kopírování a vkládání hodnot pomocí objektu rozsahu

Tuto šablonu VBA Copy Vložit Excel si můžete stáhnout zde - VBA Copy Vložit šablonu Excel

Předpokládejme, že v buňce A1 máte slovo „Excel VBA“.

Řekněme například, že pokud chcete kopírovat buňku A1, můžeme použít objekt VBA RANGE.

Kód:

Sub Copy_Example () Range ("A1"). End Sub

V okamžiku, kdy odkazujete na buňku, můžeme vidět všechny její vlastnosti a metody. Vyberte tedy metodu „ Kopírovat “.

Kód:

 Sub Copy_Example () Range ("A1"). Kopírovat End Sub 

Po výběru metody stiskněte mezerník a zobrazí se argument metody Copy.

Píše se v něm Cíl.

To není nic jiného, ​​než kam chcete kopírovat a vkládat hodnoty ve VBA bez výběru metody PASTE.

Pokud vkládáme do stejného listu, můžeme vybrat buňku pomocí objektu Range. Řekněme, že pokud chceme vložit hodnotu do buňky B3, můžeme cíl zadat jako „Rozsah („ B3 “)“ .

Kód:

 Sub Copy_Example () Rozsah ("A1"). Místo kopírování: = Range ("B3") End Sub 

Tím se zkopírují data z buňky A1 a vloží se do buňky B3.

Můžeme také použít níže uvedenou metodu k vložení dat.

Kód:

 Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Vyberte ActiveSheet.Paste End Sub 

Nejprve zkopírujeme a vybereme data z buňky A1 a vložíme do buňky B3.

Příklad č. 2 - Kopírování do jiného listu ve stejném sešitu

Nyní, pokud chceme zkopírovat a vložit hodnotu z různých listů pomocí makra VBA, musíme v argumentu Cíl odkazovat na název listu pomocí objektu WORKSHEETS a poté uvést rozsah buněk v tomto WORKSHEETu. Níže uvedený kód bude dělat svou práci.

Kód:

 Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub 

Pokud chceme zkopírovat data z konkrétního listu a vložit jej do jiného konkrétního listu, musíme uvést oba názvy listů.

Nejprve musíme zmínit kopírovací list.

Pracovní listy ("List1"). Rozsah ("A1"). Kopie

V argumentu Cíl musíme uvést název cílového listu a rozsah buňky.

Cíl: = Pracovní listy ("List2"). Rozsah ("B3")

Kód by se tedy měl líbit.

Kód:

 Sub Copy_Example () Worksheets ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub 

Příklad č. 3 - Kopírování z jednoho sešitu do druhého sešitu

Viděli jsme, jak kopírovat z listu do jiného listu ve stejném sešitu. Ale můžeme to udělat také z jednoho sešitu do druhého sešitu.

Podívejte se na níže uvedený kód.

Kód:

 Sub Copy_Example () Workbooks ("Book 1.xlsx"). Worksheets ("Sheet1"). Range ("A1"). Copy Workbooks ("Book 2.xlsx"). Activate ActiveWorkbook.Worksheets ("Sheet 2"). Vyberte ActiveSheet.Paste End Sub 

Nejprve zkopíruje data z listu „List1“ v sešitu „Book1.xlsx“ z buňky A1.

Sešity („ Kniha 1.xlsx “). Pracovní listy („ List1 “). Rozsah („ A1 “). Kopírovat“

Poté aktivuje sešit „Kniha 2.xlsx“.

Sešity („Kniha 2.xlsx“). Aktivujte

V aktivním sešitu vybere list „List 2“

ActiveWorkbook.Worksheets ("List 2"). Vyberte

Nyní se na aktivní list vloží

ActiveSheet.Paste

Alternativní způsob použití kopírování a vložení ve VBA

Máme ještě jeden alternativní způsob, jak mít data z jedné buňky do jiné buňky. Předpokládejme, že máte slovo „Excel VBA“ v buňce A1 a to samé potřebujete, abyste přišli do buňky B3.

Jednou z metod, kterou jsme viděli, je použití metody kopírování a vložení VBA, nyní vám ukážu jeden z alternativních způsobů. Podívejte se na níže uvedený kód, abyste porozuměli.

Kód:

 Sub Copy_Example1 () Range ("A1"). Value = Range ("B3"). Value End Sub 

Výše uvedené říká, že ať už je hodnota v buňce A1 cokoli, měla by se rovnat hodnotě v buňce B3.

Rozsah ("A1"). Hodnota = Rozsah ("B3"). Hodnota

Přestože se nejedná o metodu kopírování a vkládání, stále přináší našim znalostem kódování větší hodnotu.

Nejlepší způsoby kopírování a vkládání VBA jako hodnot

Nyní uvidíme různé způsoby kopírování a vkládání hodnot VBA. Předpokládejme, že jste v buňce A1, jak je znázorněno na následujícím obrázku.

  • Pokud chceme kopírovat a vložit, musíme odkazovat na buňku zde, stačí použít vlastnost Selection. Metoda kopírování.

Kód:

 Sub Copy_Example1 () Selection.Copy Destination: = Range ("B3") End Sub 

NEBO

 Sub Copy_Example1 () ActiveCell.Copy Destination: = Range ("B3") End Sub 
  • Pokud chcete zkopírovat celý použitý rozsah listu, můžete použít níže uvedený kód.

Kód:

 Sub Copy_Example2 () Worksheets ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub 

Tím se zkopíruje celý použitý rozsah v listu „List1“ a stejný se vloží do listu „List2“.