VBA specialusis įklijavimo būdas kopijuoti "Excel" vertes ir formatus (9 pavyzdžiai) -

  • Pasidalinti
Hugh West

Kai mums reikia kopijuoti ir įklijuoti bet kokius "Microsoft Excel" duomenis, "Excel" programoje galime naudotis įvairiomis sparčiųjų klavišų ir juostos priemonėmis. VBA Makro taip pat turi tokią galimybę, o ne sąsiuvinio parinktis. Aptarsime VBA specialusis įklijavimas reikšmes ir formatus "Excel" programoje.

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį pratybų sąsiuvinį, kad galėtumėte atlikti pratimus skaitydami šį straipsnį.

Vertės ir formatai naudojant PasteSpecial.xlsm

9 pavyzdžiai, kaip kopijuoti vertes ir formatus naudojant "Paste Special" programoje "Excel VBA

Šiame straipsnyje aptarsime 9 metodai su VBA makrokomandos, skirtos Specialusis įklijavimas reikšmes ir formatą "Excel" programoje.

Šiuo tikslu nagrinėsime toliau pateiktą duomenų rinkinį.

1. Taikyti "InputBox" VBA specialųjį įklijavimo būdą kopijuojant vertes ir formatus

Šiame pavyzdyje naudosime InputBox parinktį Specialusis įklijavimas .

1 žingsnis:

  • Eikite į Kūrėjas skirtukas.
  • Spustelėkite Įrašyti makrokomandą .
  • Nustatyti Excel_Paste_Special_1 kaip Makro pavadinimas .
  • Tada paspauskite GERAI .

2 žingsnis:

  • Dabar spustelėkite Makrokomandos komanda.
  • Pasirinkite Makro ir paspauskite Žingsnis į .

3 veiksmas:

  • Nukopijuokite ir įklijuokite šį kodą į komandų modulį.
 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("Pasirinkite diapazoną kopijuoti :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Įklijuoti į bet kurį tuščią langelį:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

4 veiksmas:

  • Paspauskite F5 paleisti kodą.
  • Bus rodomas naujas dialogo langas. Šiame lange pasirinkite šaltinio diapazoną.
  • Tada paspauskite GERAI .

5 veiksmas:

  • Atsivers kitas dialogo langas. Pasirinkite tuščią intervalą, į kurį norite įklijuoti nukopijuotas ląsteles.

Dabar pažvelkite į duomenų rinkinį.

Visi duomenys kopijuojami su reikšmėmis ir formatais naudojant VBA specialusis įklijavimas .

Skaityti daugiau: Kaip taikyti VBA PasteSpecial ir išlaikyti šaltinio formatavimą "Excel" programoje

2. Ląstelių diapazono su vertėmis ir formatais įterpimas naudojant xlPasteAllUsingSourceTheme VBA specialųjį įklijavimą

Ląstelių diapazoną įterpsime tiesiai į VBA kodas šiame skyriuje.

1 žingsnis:

  • Paspauskite Alt+F11 įeiti į komandų modulį.
  • Į komandų modulį įrašykite šį kodą.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

2 žingsnis:

  • Dabar paspauskite F5 paleisti kodą.

Šis xlPasteAllUsingSourceTheme komanda nukopijuoja tikslią šaltinio duomenų kopiją.

Skaityti daugiau: "Excel VBA": ląstelės reikšmės kopijavimas ir įklijavimas į kitą ląstelę

3. Naudokite VBA kintamąjį, norėdami įterpti diapazoną su vertėmis ir formatais, naudodami specialųjį įklijavimą

Parodysime kintamųjų naudojimą VBA specialusis įklijavimas kodą rasite čia.

1 žingsnis:

  • Pirmiausia įeikite į komandų modulį paspausdami Alt+F11 .
  • Komandų modulyje įrašykite toliau pateiktą kodą.
 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 žingsnis:

  • Paspauskite F5 ir paleiskite kodą.

Skaityti daugiau: "Excel VBA": diapazono kopijavimas į kitą sąsiuvinį

4. Naudokite xlPasteValues ir xlPasteFormats, kad nukopijuotumėte vertes ir formatus kitame lape, išlaikydami formatus nepakeistus

Pirmiau aprašyti metodai buvo naudojami kopijuojant ir įklijuojant duomenis tame pačiame lape. Dabar parodysime, kaip naudoti VBA specialusis įklijavimas skirtingiems lakštams.

1 žingsnis:

  • Į komandų modulį įeikite spustelėję Alt+F11 ir nukopijuokite šį kodą.
 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 žingsnis:

  • Paspauskite F5 paleisti kodą.

Matome, kad duomenys apie Data_Set nukopijuojamas į Different_Sheet .

Skaityti daugiau: Kaip naudoti VBA PasteSpecial formulėms ir formatams "Excel" (3 būdai)

Panašūs skaitiniai

  • Kaip nukopijuoti kelias ląsteles į kitą "Excel" lapą (9 metodai)
  • Skirtumas tarp "Paste" ir "Paste Special" programoje "Excel
  • "Excel VBA" duomenų kopijavimas iš kito sąsiuvinio neatidarant
  • Kaip kopijuoti ir įklijuoti "Excel" programoje ir išlaikyti ląstelių dydį (7 pavyzdžiai)
  • Verčių kopijavimas ir įklijavimas į kitą tuščią eilutę naudojant "Excel VBA" (3 pavyzdžiai)

5. Naudokite xlPasteFormats, kad įklijuotumėte tik formatus

Ankstesniuose metoduose nukopijavome visus duomenis ir įklijavome juos be jokių pakeitimų. Tačiau šiame skyriuje nukopijuosime tik duomenų formatą.

1 žingsnis:

  • Eikite į komandų modulį paspausdami Alt+F11 .
  • Nukopijuokite ir įklijuokite toliau pateiktą kodą į komandų modulį.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

2 žingsnis:

  • Dabar paspauskite F5 mygtuką ir paleiskite kodą.

Pažvelkite į duomenų rinkinį. Nukopijuoti tik formatai, reikšmių čia nėra.

Skaityti daugiau: Kaip kopijuoti ir įklijuoti "Excel" programoje nekeičiant formato

6. Naudokite xlPasteValues, kad įklijuotumėte tik vertes

Vertes galime kopijuoti tik naudodami VBA specialusis įklijavimas .

1 žingsnis:

  • Paspauskite Alt+F11 įeiti į komandų modulį.
  • Komandų modulyje įrašykite šį kodą.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

2 žingsnis:

  • Spustelėkite F5 ir paleiskite kodą.

Atkreipkite dėmesį į duomenų rinkinį. Čia kopijuojamos tik reikšmės. Šiuo metodu nekopijuojami jokie formatai.

Skaityti daugiau: Kaip naudoti VBA, kad į "Excel" įklijuotumėte tik vertes be formatavimo

7. Kopijuoti ir įklijuoti visą vienos ląstelės turinį

Ankstesniuose skyriuose kopijavome duomenų intervalą. Čia kopijuosime tik vieną ląstelę.

1 žingsnis:

  • Dabar paspauskite Alt+F11 ir įveskite komandų modulį.
  • Modulyje įveskite šį kodą.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

2 žingsnis:

  • Dabar paspauskite F5 paleisti kodą.

Matome, kad čia kopijuojama viena ląstelė, o ne diapazonas.

Skaityti daugiau: Verčių kopijavimo ir įklijavimo "Excel" programoje formulė (5 pavyzdžiai)

8. Visų tam tikro stulpelio atributų kopijavimas ir įkėlimas naudojant VBA

Kaip ir vieną ląstelę, galime nukopijuoti vieną duomenų rinkinio stulpelį.

1 žingsnis:

  • Tiesiog paspauskite Alt+F11 įeiti į komandų modulį.
  • Modulyje įrašykite toliau pateiktą kodą.
 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 žingsnis:

  • Paleiskite kodą paspausdami F5 .

Čia matome, kad B stulpelis nukopijuojamas į E stulpelis .

Skaityti daugiau: [Pataisyta]: "Excel" neveikia kopijavimas ir įklijavimas dešiniuoju pelės klavišu (11 sprendimų)

9. Kopijuokite ir įklijuokite visus eilutės atributus naudodami "Excel VBA

Panašiai galime nukopijuoti vieną eilutę naudodami Specialusis įklijavimas .

1 žingsnis:

  • Spustelėkite Alt+F11 įeiti į komandų modulį.
  • Nukopijuokite šį komandų modulio kodą.
 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 žingsnis:

  • Paleiskite kodą paspausdami F5 .

Čia, 4 eilutė nukopijuojamas į 11 eilutė .

Skaityti daugiau: Kaip nukopijuoti kelias eilutes "Excel" programoje naudojant makrokomandą (4 pavyzdžiai)

Išvada

Šiame straipsnyje paaiškinome 9 VBA metodai Įklijuoti specialiąsias reikšmes ir formatus "Excel" programoje. Tikiuosi, kad tai patenkins jūsų poreikius. Prašome pažvelgti į mūsų svetainę Exceldemy.com ir pateikite savo pasiūlymus komentarų lauke.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.