Špeciálna funkcia VBA Paste na kopírovanie hodnôt a formátov v programe Excel (9 príkladov) -

  • Zdieľajte To
Hugh West

Keď potrebujeme kopírovať a vkladať akékoľvek údaje v programe Microsoft Excel, máme k dispozícii rôzne skratky a nástroje na páse kariet v programe Excel. VBA Makrá majú tiež takéto zariadenie skôr ako možnosti zošita. Budeme diskutovať o VBA Vložiť špeciálne hodnoty a formáty v programe Excel.

Stiahnite si cvičebnicu

Stiahnite si tento cvičebný zošit, aby ste si počas čítania tohto článku precvičili svoje zručnosti.

Hodnoty a formáty pomocou PasteSpecial.xlsm

9 príkladov na kopírovanie hodnôt a formátov pomocou funkcie Paste Special v programe Excel VBA

V tomto článku sa budeme zaoberať 9 metód s Makrá VBA na Vložiť špeciálne hodnoty a formát v programe Excel.

Na tento účel budeme uvažovať o súbore údajov uvedenom nižšie.

1. Použitie špeciálnej funkcie InputBox vo VBA Paste na kopírovanie hodnôt a formátov

V tomto príklade použijeme možnosť InputBox pre Vložiť špeciálne .

Krok 1:

  • Prejdite na Vývojár tab.
  • Kliknite na Makro záznamu .
  • Nastavenie Excel_Paste_Special_1 ako Názov makra .
  • Potom stlačte tlačidlo OK .

Krok 2:

  • Teraz kliknite na Makrá príkaz.
  • Vyberte Makro a potom stlačte Krok do .

Krok 3:

  • Skopírujte a vložte nasledujúci kód do prí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:

  • Tlač F5 na spustenie kódu.
  • Zobrazí sa nové dialógové okno. V ňom vyberte zdrojový rozsah.
  • Potom stlačte tlačidlo OK .

Krok 5:

  • Zobrazí sa ďalšie dialógové okno. Vyberte prázdny rozsah, do ktorého vložíte skopírované bunky.

Teraz sa pozrite na súbor údajov.

Všetky údaje sa kopírujú s hodnotami a formátmi pomocou VBA Vložiť špeciálne .

Prečítajte si viac: Ako použiť VBA PasteSpecial a zachovať formátovanie zdroja v programe Excel

2. Vloženie rozsahu buniek s hodnotami a formátmi pomocou xlPasteAllUsingSourceTheme v aplikácii VBA Paste Special

Rozsah buniek vložíme priamo na VBA kód v tejto časti.

Krok 1:

  • Tlač Alt+F11 na vstup do príkazového modulu.
  • Do príkazového modulu vložte nasledujúci kód.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Teraz stlačte F5 na spustenie kódu.

Táto stránka xlPasteAllUsingSourceTheme skopíruje presný duplikát zdrojových údajov.

Prečítajte si viac: Excel VBA: Kopírovanie hodnoty bunky a vloženie do inej bunky

3. Použitie premennej VBA na vloženie rozsahu s hodnotami a formátmi pomocou funkcie Paste Special

Ukážeme si použitie premenných v VBA Vložiť špeciálne kód tu.

Krok 1:

  • Najprv vstúpte do príkazového modulu stlačením tlačidla Alt+F11 .
  • Do príkazového modulu napíšte nasledujúci 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:

  • Tlač F5 a spustite kód.

Prečítajte si viac: Excel VBA: Kopírovanie rozsahu do iného zošita

4. Pomocou xlPasteValues a xlPasteFormats skopírujte hodnoty a formáty do iného listu, pričom formáty zostanú nezmenené

Vyššie uvedené metódy boli použité na kopírovanie a vkladanie údajov do toho istého hárku. Teraz si ukážeme, ako použiť VBA Vložiť špeciálne pre rôzne listy.

Krok 1:

  • Do príkazového modulu vstúpite kliknutím na Alt+F11 a skopírujte naň nasledujúci 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:

  • Tlač F5 na spustenie kódu.

Vidíme, že údaje o Data_Set sa skopíruje do Different_Sheet .

Prečítajte si viac: Ako používať VBA PasteSpecial pre vzorce a formáty v programe Excel (3 spôsoby)

Podobné čítania

  • Ako skopírovať viacero buniek do iného hárka v programe Excel (9 metód)
  • Rozdiel medzi Vložiť a Vložiť špeciálne v programe Excel
  • Excel VBA na kopírovanie údajov z iného zošita bez otvorenia
  • Ako kopírovať a vkladať v programe Excel a zachovať veľkosť buniek (7 príkladov)
  • Kopírovanie a vkladanie hodnôt do ďalšieho prázdneho riadku pomocou Excel VBA (3 príklady)

5. Na vloženie iba formátov použite xlPasteFormats

V predchádzajúcich metódach sme skopírovali celé údaje a vložili ich bez zmeny. V tejto časti však skopírujeme len formát údajov.

Krok 1:

  • Prejdite do príkazového modulu stlačením Alt+F11 .
  • Skopírujte a vložte nasledujúci kód do príkazového modulu.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Krok 2:

  • Teraz stlačte tlačidlo F5 a spustite kód.

Pozrite sa na súbor údajov. Kopírujú sa len formáty, nie sú tu žiadne hodnoty.

Prečítajte si viac: Ako kopírovať a vkladať v programe Excel bez zmeny formátu

6. Na vloženie iba hodnôt použite xlPasteValues

Hodnoty môžeme kopírovať len pomocou príkazu VBA Vložiť špeciálne .

Krok 1:

  • Tlač Alt+F11 na vstup do príkazového modulu.
  • V príkazovom module napíšte nasledujúci kód.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Krok 2:

  • Kliknite na F5 a spustite kód.

Všimnite si súbor údajov. Kopírujú sa tu len hodnoty. Pri tejto metóde sa nekopírujú žiadne formáty.

Prečítajte si viac: Ako používať VBA na vkladanie hodnôt len bez formátovania v programe Excel

7. Kopírovanie a vkladanie celého obsahu jednej bunky

V predchádzajúcich častiach sme kopírovali rozsah údajov. Tu budeme kopírovať iba jednu bunku.

Krok 1:

  • Teraz stlačte Alt+F11 a vstúpte do príkazového modulu.
  • Do modulu zadajte nasledujúci kód.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Krok 2:

  • Teraz stlačte tlačidlo F5 spustiť kód.

Vidíme, že sa tu kopíruje jedna bunka, nie rozsah.

Prečítajte si viac: Vzorec na kopírovanie a vkladanie hodnôt v programe Excel (5 príkladov)

8. Kopírovanie a vkladanie všetkých atribútov určitého stĺpca pomocou VBA

Podobne ako jednu bunku môžeme skopírovať jeden stĺpec v súbore údajov.

Krok 1:

  • Jednoducho stlačte tlačidlo Alt+F11 na vstup do príkazového modulu.
  • Do modulu zapíšte nasledujúci 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:

  • Kód spustíte stlačením tlačidla F5 .

Tu môžeme vidieť, že Stĺpec B sa skopíruje do Stĺpec E .

Prečítajte si viac: [Opravené]: Kopírovanie a vkladanie pravým tlačidlom myši nefunguje v programe Excel (11 riešení)

9. Kopírovanie a vkladanie všetkých atribútov riadku pomocou Excel VBA

Podobne môžeme skopírovať jeden riadok pomocou príkazu Vložiť špeciálne .

Krok 1:

  • Kliknite na Alt+F11 na vstup do príkazového modulu.
  • Skopírujte nasledujúci kód do prí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:

  • Kód spustíte stlačením tlačidla F5 .

Tu, Riadok 4 sa skopíruje do Riadok 11 .

Prečítajte si viac: Ako skopírovať viac riadkov v programe Excel pomocou makra (4 príklady)

Záver

V tomto článku sme vysvetlili 9 metódy VBA Vložiť špeciálne hodnoty a formáty v programe Excel. Dúfam, že to uspokojí vaše potreby. Pozrite sa na našu webovú stránku Exceldemy.com a uveďte svoje návrhy v políčku pre komentáre.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.