Jak použít VBA PasteSpecial a zachovat formátování zdroje v aplikaci Excel

  • Sdílet Toto
Hugh West

Existují však situace, kdy chceme zkopírovat více než jen text. Můžeme zkopírovat všechny možnosti Excelu, jako je podmíněné formátování, ověřování dat, formátování datových typů a estetické funkce, jako jsou okraje a barvy buněk. Možná obdivujete barevné schéma svého kolegy, ale požadujete statická data, nebo jsou vzorce fantastické, ale nelíbí se vám barevné schéma.V tomto tutoriálu si ukážeme. VBA PasteSpecial a zachovat formátování zdroje 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.

VBA PasteSpecial.xlsm

4 jednoduché příklady použití VBA PasteSpecial a zachování formátování zdroje v aplikaci Excel

Ukážeme si čtyři příklady použití speciálního příkazu paste v aplikaci VBA při zachování zdrojového formátu v níže uvedených oddílech. Zde je ukázkový soubor dat, který použijeme ke kopírování a vkládání.

1. Přidání vstupního pole pomocí VBA PasteSpecial a zachování formátování zdroje v aplikaci Excel

Především. Pomocí rámečku vybereme rozsah a poté jej vložíme do jiné buňky. Za tímto účelem postupujte podle následujících kroků.

Krok 1:

  • Nejprve stiskněte Alt + F11 zahájit Makro .
  • Poté klikněte na Vložit, vybrat Modul možnost.

Krok 2:

  • Vložte následující kód VBA.
 Sub PasteSpecialKeepFormat() 'deklarujte CopyCell a PasteCell jako proměnné rozsahu Dim CopyCell As Range, PasteCell As Range 'Pojmenujte vstupní pole xTitleId = "ExcelWIKI" 'Nastavte rozsah kopírování, který bude vybrán z pracovního listu Set CopyCell = Application.Selection 'Nastavte vstupní pole, ze kterého bude vybrán rozsah pro kopírování Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address,Type:=8) 'Nastavte vstupní pole pro výběr rozsahu, do kterého chcete vložit Set PasteCell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) 'Příkaz pro kopírování vybraného rozsahu CopyCell.Copy 'Příkaz pro vložení rozsahu PasteCell.Parent.Activate 'Příkaz pro vložené buňky, aby bylo zachováno zdrojové formátování PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

Krok 3:

  • Uložit programu a stiskněte tlačítko F5 k jeho spuštění.
  • Poté, co se objevil 'ExcelWIKI' vyberte rozsah $B$4:$C$11 .
  • Klikněte na OK .

Krok 4:

  • Vyberte libovolnou prázdnou buňku a vložte ji.
  • Pak klikněte na tlačítko DOBŘE.

  • Hodnotu vložení tedy získáte tak, že zachováte formát.

Přečtěte si více: Rozdíl mezi Vložit a Vložit speciální v aplikaci Excel

2. Použití VBA PasteSpecial pro výběr rozsahu a zachování zdrojového formátování v aplikaci Excel

Na adrese VBA , můžete také zadat rozsahy a zkopírovat a vložit je při zachování zdrojového formátování. Chcete-li to provést, postupujte podle níže uvedených kroků.

Krok 1:

  • Tisk Alt + F11 otevřít Makro .
  • Vytvoření nového modulu z Vložte
  • Jednoduše vložte následující VBA kód pro rozsah B4:C11 .
 Sub pasteSpecial_KeepFormat() 'vyberte rozsah pro kopírování Range("B4:C11").Copy 'vyberte buňku pro vložení 'Příkaz pasteSpecial zachovávající formát Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Nakonec program uložte a stiskněte tlačítko F5 následně uvidíte změny, jak je znázorněno na obrázku níže.

Další informace: Speciální funkce VBA Paste pro kopírování hodnot a formátů v aplikaci Excel (9 příkladů)

Podobná čtení

  • Kód VBA pro porovnání dvou listů aplikace Excel a kopírování rozdílů
  • Excel VBA: Kopírování hodnoty buňky a vložení do jiné buňky
  • Jak zkopírovat více buněk do jiného listu v aplikaci Excel (9 metod)
  • Excel VBA: Kopírování rozsahu do jiného sešitu
  • [Opraveno]: Kopírování a vkládání pravým tlačítkem myši v aplikaci Excel nefunguje (11 řešení)

3. Deklarování proměnné pomocí VBA PasteSpecial a zachování formátování zdroje v aplikaci Excel

Deklarováním proměnných a nastavením proměnných na různé rozsahy postupujte podle níže uvedených kroků a vložteSpecial do programu VBA .

Krok 1:

  • Nejprve stiskněte Alt + F11 otevřít Makro VBA .
  • Vyberte nový Modul .
  • Pak vložte následující Kód VBA .
 Sub Copy_Paste_Special() 'Deklarace proměnných Dim copy_Rng As Range, Paste_Range As Range 'Příkaz pro kopírování rozsahu Set copy_Rng = Range("B4:C11") 'Příkaz pro vložení rozsahu Set Paste_Range = Range("E4") copy_Rng.Copy 'Příkaz pro vložení do pasteSpecial se zachováním formátu Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Po uložení programu stiskněte tlačítko F5 spustit.
  • Zkopírovaný rozsah se tedy vloží se zachováním původního formátování.

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

4. Použití VBA PasteSpecial a zachování zdrojového formátování v jiném pracovním listu v aplikaci Excel

V tomto díle si povíme o velmi významné metodě. Projdeme si totiž, jak používat PasteSpecial v aplikaci VBA ve více sešitech. Například zkopírujeme ze sešitu 'Sheet4' a vložte ji do "List5 ,', jak je uvedeno v níže uvedených krocích.

Krok 1:

  • Otevření Makro VBA , stiskněte tlačítko Alt + F11
  • Z Vložte na kartě Modul.
  • Pak vložte následující VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Deklarujte proměnné Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Nastavte cíl rozsahu na proměnnou Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'nastavte cíl vložených buněk 'Pro buňku E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Příkaz pro kopírování rozsahu copyRng.Range("B4:C11").Copy 'Příkaz pro vložení rozsahu Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Krok 2:

  • Chcete-li program spustit, stiskněte tlačítko F5 po uložení programu.
  • Vloženou hodnotu tedy získáte ve formátu list 5 se zachováním zdrojového formátu.

Přečtěte si více: Jak používat speciální příkaz Vložit v aplikaci Excel (5 vhodných způsobů)

Závěr

Doufám, že nyní víte, jak používat Excel VBA Vložit speciální formátování zachovat zdroj. Všechny tyto strategie byste se měli naučit na svých datech a používat je. Prozkoumejte cvičebnici a aplikujte, co jste se naučili. K dalším přednáškám, jako jsou tyto, nás motivuje vaše důležitá podpora.

V případě jakýchkoli dotazů se na nás neváhejte obrátit. O své názory se podělte v komentářích níže.

Vaše dotazy budou co nejdříve zodpovězeny prostřednictvím Exceldemy zaměstnanci.

Zůstaňte s námi a učte se dál.

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.