Obsah
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.