Sisukord
Kui meil on vaja kopeerida ja kleepida Microsoft Excelis mis tahes andmeid, on meil Excelis olemas erinevad otseteede ja lintide tööriistad. VBA Makro on ka selline võimalus, mitte töövihiku valikud. Me arutame VBA Paste Special väärtused ja vormingud Excelis.
Lae alla praktiline töövihik
Lae alla see harjutusvihik, et seda artiklit lugedes harjutada.
Väärtused ja vormingud, kasutades PasteSpecial.xlsm
9 näidet väärtuste ja vormingute kopeerimiseks Exceli VBA-s Paste Specialiga
Selles artiklis arutame 9 meetodit koos VBA makros, et Paste Special väärtused ja vorming Excelis.
Selleks käsitleme allpool esitatud andmekogumit.
1. Rakendage VBAs InputBoxi Paste Special väärtuste ja vormingute kopeerimiseks
Me kasutame selles näites InputBoxi valikut, et saada Paste Special .
1. samm:
- Minge Arendaja vahekaart.
- Klõpsake nuppu Salvesta makro .
- Komplekt Excel_Paste_Special_1 kui Makro nimi .
- Seejärel vajutage OK .
2. samm:
- Nüüd klõpsake nuppu Makros käsk.
- Valige Makro ja seejärel vajutage Astu sisse .
3. samm:
- Kopeeri ja kleebi järgmine kood käsurea moodulisse.
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
4. samm:
- Press F5 koodi käivitamiseks.
- Avaneb uus dialoogiboks. Valige sellel kastil allikate vahemik.
- Seejärel vajutage OK .
5. samm:
- Ilmub teine dialoogiboks. Valige tühi vahemik, kuhu kopeeritud lahtrid kleepida.
Nüüd vaadake andmestikku.
Kõik andmed kopeeritakse koos väärtuste ja vormingutega kasutades VBA Paste Special .
Loe edasi: Kuidas rakendada VBA PasteSpeciali ja säilitada Exceli lähtekoha vormindamist
2. Raku vahemiku sisestamine koos väärtuste ja vormingutega, kasutades xlPasteAllUsingSourceTheme'i VBA Paste Special'is xlPasteAllUsingSourceTheme'i abil
Me sisestame lahtrivahemiku otse VBA kood selles jaotises.
1. samm:
- Press Alt+F11 et siseneda käsumoodulisse.
- Pange järgmine kood käsurea moodulisse.
Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
2. samm:
- Nüüd vajutage F5 koodi käivitamiseks.
See xlPasteAllUsingSourceTheme käsk kopeerib lähteandmete täpse duplikaadi.
Loe edasi: Excel VBA: lahtri väärtuse kopeerimine ja kleepimine teise lahtrisse
3. Kasutage VBA muutujat, et sisestada vahemik koos väärtuste ja vormingutega, kasutades Paste Special'i.
Näitame muutujate kasutamist muutujate VBA Paste Special kood siin.
1. samm:
- Kõigepealt sisenege käsurea moodulisse, vajutades Alt+F11 .
- Kirjutage alljärgnev kood käsumoodulisse.
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
2. samm:
- Press F5 ja käivitage kood.
Loe edasi: Excel VBA: vahemiku kopeerimine teise töövihikusse
4. Kasutage xlPasteValues ja xlPasteFormats, et kopeerida väärtused ja vormingud teisele lehele, säilitades vormingud muutumatuna
Eespool kirjeldatud meetodeid kasutati andmete kopeerimiseks ja kleepimiseks samale lehele. Nüüd näitame, kuidas kasutada VBA Paste Special erinevate lehtede jaoks.
1. samm:
- Sisestage käsumoodul, klõpsates Alt+F11 ja kopeerides sellele järgmise koodi.
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
2. samm:
- Press F5 koodi käivitamiseks.
Me näeme, et andmed Data_Set kopeeritakse Different_Sheet .
Loe edasi: Kuidas kasutada VBA PasteSpecial'i valemite ja vormingute jaoks Excelis (3 võimalust)
Sarnased lugemised
- Kuidas kopeerida mitu lahtrit Exceli teisele lehele (9 meetodit)
- Erinevus Paste ja Paste Special vahel Excelis
- Exceli VBA andmete kopeerimiseks teisest töövihikust ilma avamata
- Kuidas kopeerida ja kleepida Excelis ja säilitada lahtri suurus (7 näidet)
- Väärtuste kopeerimine ja kleepimine Exceli VBAga järgmisele tühjale reale (3 näidet)
5. Kasutage xlPasteFormats'i ainult vormingute kleepimiseks
Eelmistes meetodites kopeerisime kogu andmed ja kleebisime need muutusteta sisse. Kuid selles punktis kopeerime ainult andmete formaadi.
1. samm:
- Minge käsumoodulisse, vajutades Alt+F11 .
- Kopeeri ja kleebi alljärgnev kood käsurea moodulisse.
Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub
2. samm:
- Nüüd vajutage F5 nuppu ja käivitage kood.
Vaadake andmekogumit. Ainult vormingud on kopeeritud, väärtusi siin ei ole.
Loe edasi: Kuidas kopeerida ja kleepida Excelis ilma formaati muutmata
6. Kasutage xlPasteValues ainult väärtuste kleepimiseks
Me saame kopeerida väärtusi ainult kasutades VBA Paste Special .
1. samm:
- Press Alt+F11 et siseneda käsumoodulisse.
- Kirjutage käsurea moodulis järgmine kood.
Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub
2. samm:
- Klõpsake nuppu F5 ja käivitage kood.
Pange tähele andmekogumit. Siin kopeeritakse ainult väärtusi. Selle meetodi puhul ei kopeerita mingeid vorminguid.
Loe edasi: Kuidas kasutada VBA-d, et kleepida väärtusi ainult ilma vormindamiseta Excelis
7. Ühe lahtri kogu sisu kopeerimine ja kleepimine
Eelnevates punktides kopeerisime andmete vahemikku. Siin kopeerime ainult ühe lahtri.
1. samm:
- Nüüd vajutage Alt+F11 ja sisenege käsumoodulisse.
- Sisestage järgmine kood moodulisse.
Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
2. samm:
- Nüüd vajutage F5 nuppu koodi käivitamiseks.
Näeme, et siin kopeeritakse üks lahter, mitte vahemik.
Loe edasi: Valem Exceli väärtuste kopeerimiseks ja kleepimiseks (5 näidet)
8. Teatud veeru kõigi atribuutide kopeerimine ja kleepimine VBAga
Nagu üks lahter, saame kopeerida ühe veeru andmekogumis.
1. samm:
- Lihtsalt vajutage Alt+F11 et siseneda käsumoodulisse.
- Kirjutage moodulisse alljärgnev kood.
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
2. samm:
- Käivitage kood, vajutades F5 .
Siin näeme, et Veerg B kopeeritakse Veerg E .
Loe edasi: [Parandatud]: Parema klõpsuga kopeerimine ja kleepimine ei tööta Excelis (11 lahendust)
9. Exceli VBA abil rea kõigi atribuutide kopeerimine ja kleepimine
Samamoodi saame kopeerida ühe rea, kasutades käsku Paste Special .
1. samm:
- Klõpsake nuppu Alt+F11 et siseneda komandomoodulisse.
- Kopeerige järgmine kood käsurea moodulisse.
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
2. samm:
- Käivitage kood, vajutades F5 .
Siin, Rida 4 kopeeritakse Rida 11 .
Loe edasi: Kuidas kopeerida mitu rida Excelis makro abil (4 näidet)
Kokkuvõte
Selles artiklis oleme selgitanud 9 VBA Paste Special väärtuste ja vormingute meetodid Excelis. Loodan, et see rahuldab teie vajadusi. Palun vaadake meie veebisaiti Exceldemy.com ja esitage oma ettepanekud kommentaarikastis.