Obsah
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ářů.