Speciální funkce VBA Vložit pro kopírování hodnot a formátů v aplikaci Excel (9 příkladů) -

  • Sdílet Toto
Hugh West

Když potřebujeme zkopírovat a vložit jakákoli data v aplikaci Microsoft Excel, máme k dispozici různé klávesové zkratky a nástroje na pásu karet v aplikaci Excel. VBA Makra mají také takovou možnost spíše než možnosti sešitu. Budeme diskutovat o tom. VBA Vložit speciální hodnoty a formáty v aplikaci Excel.

Stáhnout cvičebnici

Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.

Hodnoty a formáty pomocí PasteSpecial.xlsm

9 příkladů na kopírování hodnot a formátů pomocí funkce Paste Special v aplikaci Excel VBA

V tomto článku se budeme zabývat 9 metod s Makra VBA pro Vložit speciální hodnoty a formát v aplikaci Excel.

Za tímto účelem budeme uvažovat o níže uvedeném souboru dat.

1. Použití speciálního tlačítka InputBox ve VBA pro kopírování hodnot a formátů

V tomto příkladu použijeme možnost InputBox pro Vložit speciální .

Krok 1:

  • Přejděte na Vývojář tab.
  • Klikněte na Makro záznamu .
  • Sada Excel_Paste_Special_1 jako Název makra .
  • Pak stiskněte tlačítko OK .

Krok 2:

  • Nyní klikněte na Makra příkaz.
  • Vyberte Makro a pak stiskněte Vstupte do .

Krok 3:

  • Zkopírujte a vložte následující kód do příkazového modulu.
 Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Select Range to Copy :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

Krok 4:

  • Tisk F5 ke spuštění kódu.
  • Zobrazí se nové dialogové okno. V něm vyberte zdrojový rozsah.
  • Pak stiskněte tlačítko OK .

Krok 5:

  • Zobrazí se další dialogové okno. Vyberte prázdný rozsah, do kterého vložíte zkopírované buňky.

Nyní se podívejte na soubor dat.

Všechna data se kopírují s hodnotami a formáty pomocí příkazu VBA Vložit speciální .

Přečtěte si více: Jak použít VBA PasteSpecial a zachovat formátování zdroje v aplikaci Excel

2. Vložení rozsahu buněk s hodnotami a formáty pomocí xlPasteAllUsingSourceTheme ve VBA Speciální vložení

Vložíme rozsah buněk přímo na VBA kód v této části.

Krok 1:

  • Tisk Alt+F11 pro vstup do příkazového modulu.
  • Do příkazového modulu vložte následující kód.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Nyní stiskněte F5 ke spuštění kódu.

Tento xlPasteAllUsingSourceTheme zkopíruje přesný duplikát zdrojových dat.

Přečtěte si více: Excel VBA: Kopírování hodnoty buňky a vložení do jiné buňky

3. Použití proměnné VBA pro vložení rozsahu s hodnotami a formáty pomocí speciálního tlačítka Vložit

Ukážeme si použití proměnných v příkazu VBA Vložit speciální kód zde.

Krok 1:

  • Nejprve vstupte do příkazového modulu stisknutím tlačítka Alt+F11 .
  • V příkazovém modulu napište níže uvedený kód.
 Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Tisk F5 a spusťte kód.

Přečtěte si více: Excel VBA: Kopírování rozsahu do jiného sešitu

4. Pomocí xlPasteValues a xlPasteFormats zkopírujte hodnoty a formáty do jiného listu, přičemž formáty zůstanou nezměněny.

Výše uvedené metody byly použity pro kopírování a vkládání dat do stejného listu. Nyní si ukážeme, jak použít funkci VBA Vložit speciální pro různé listy.

Krok 1:

  • Do příkazového modulu vstoupíte kliknutím na tlačítko Alt+F11 a zkopírujte na něj následující kód.
 Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Krok 2:

  • Tisk F5 ke spuštění kódu.

Vidíme, že data Data_Set je zkopírován do Different_Sheet .

Přečtěte si více: Jak používat VBA PasteSpecial pro vzorce a formáty v aplikaci Excel (3 způsoby)

Podobná čtení

  • Jak zkopírovat více buněk do jiného listu v aplikaci Excel (9 metod)
  • Rozdíl mezi Vložit a Vložit speciální v aplikaci Excel
  • Kopírování dat z jiného sešitu bez otevření pomocí aplikace Excel VBA
  • Jak kopírovat a vkládat v aplikaci Excel a zachovat velikost buněk (7 příkladů)
  • Kopírování a vkládání hodnot do dalšího prázdného řádku pomocí aplikace Excel VBA (3 příklady)

5. Pomocí xlPasteFormats vložte pouze formáty

V předchozích metodách jsme zkopírovali celá data a vložili je beze změny. V této části však budeme kopírovat pouze formát dat.

Krok 1:

  • Přejděte do příkazového modulu stisknutím tlačítka Alt+F11 .
  • Zkopírujte a vložte níže uvedený kód do příkazového modulu.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Krok 2:

  • Nyní stiskněte tlačítko F5 a spusťte kód.

Podívejte se na datovou sadu. Kopírují se pouze formáty, nejsou zde žádné hodnoty.

Přečtěte si více: Jak kopírovat a vkládat v aplikaci Excel bez změny formátu

6. Pomocí xlPasteValues vložte pouze hodnoty

Hodnoty můžeme kopírovat pouze pomocí příkazu VBA Vložit speciální .

Krok 1:

  • Tisk Alt+F11 pro vstup do příkazového modulu.
  • Do příkazového modulu zapište následující kód.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Krok 2:

  • Klikněte na F5 a spusťte kód.

Všimněte si datové sady. Kopírují se zde pouze hodnoty. V této metodě se nekopírují žádné formáty.

Přečtěte si více: Jak použít VBA k vložení hodnot pouze bez formátování v aplikaci Excel

7. Kopírování a vložení celého obsahu jedné buňky

V předchozích částech jsme kopírovali rozsah dat. Zde budeme kopírovat pouze jednu buňku.

Krok 1:

  • Nyní stiskněte Alt+F11 a vstupte do příkazového modulu.
  • V modulu zadejte následující kód.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Nyní stiskněte tlačítko F5 spustit kód.

Vidíme, že se zde kopíruje jedna buňka, nikoli rozsah.

Přečtěte si více: Vzorec pro kopírování a vkládání hodnot v aplikaci Excel (5 příkladů)

8. Kopírování a vkládání všech atributů určitého sloupce pomocí VBA

Stejně jako jednu buňku můžeme zkopírovat jeden sloupec v datové sadě.

Krok 1:

  • Stačí stisknout tlačítko Alt+F11 pro vstup do příkazového modulu.
  • Do modulu zapište níže uvedený kód.
 Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Spusťte kód stisknutím tlačítka F5 .

Zde vidíme, že Sloupec B je zkopírován do Sloupec E .

Přečtěte si více: [Opraveno]: Kopírování a vkládání pravým tlačítkem myši v aplikaci Excel nefunguje (11 řešení)

9. Kopírování a vkládání všech atributů řádku pomocí aplikace Excel VBA

Podobně můžeme zkopírovat jeden řádek pomocí příkazu Vložit speciální .

Krok 1:

  • Klikněte na Alt+F11 pro vstup do příkazového modulu.
  • Zkopírujte následující kód do příkazového modulu.
 Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Spusťte kód stisknutím tlačítka F5 .

Zde, Řada 4 je zkopírován do Řada 11 .

Přečtěte si více: Jak kopírovat více řádků v aplikaci Excel pomocí makra (4 příklady)

Závěr

V tomto článku jsme vysvětlili 9 metody VBA Vložit speciální hodnoty a formáty v Excelu. Doufám, že to uspokojí vaše potřeby. Podívejte se prosím na naše webové stránky. Exceldemy.com a napište své návrhy do komentářů.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.