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

  • Pasidalinti
Hugh West

Tačiau būna situacijų, kai norime dubliuoti ne tik tekstą. Galime nukopijuoti visas "Excel" galimybes, pavyzdžiui, sąlyginį formatavimą, duomenų patvirtinimą, duomenų tipo formatavimą ir estetines funkcijas, pavyzdžiui, apvadus ir ląstelių spalvas. Galbūt žavitės savo bendradarbio spalvų schema, bet jums reikia statiškų duomenų, o galbūt formulės yra fantastiškos, bet jums nepatinka spalvų schema.Šioje pamokoje parodysime VBA PasteSpecial ir išsaugokite šaltinio formatavimą "Excel".

Atsisiųsti praktikos sąsiuvinį

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

VBA PasteSpecial.xlsm

4 paprasti pavyzdžiai, kaip "Excel" taikyti VBA PasteSpecial ir išlaikyti šaltinio formatavimą

Pademonstruosime keturis pavyzdžius, kaip naudoti specialųjį įklijavimo būdą VBA išlaikydami šaltinio formatą toliau pateiktuose skirsniuose. Toliau pateikiame pavyzdinį duomenų rinkinį, kurį naudosime kopijuodami ir įklijuodami.

1. Pridėti įvesties laukelį naudojant VBA PasteSpecial ir išlaikyti šaltinio formatavimą "Excel" programoje

Pirmiausia. Naudosime langelį, kad pasirinktume diapazoną ir įklijuotume jį į kitą ląstelę. Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.

1 žingsnis:

  • Pirmiausia paspauskite Alt + F11 pradėti Makro .
  • Tada spustelėkite Įdėkite, pasirinkti Modulis galimybė.

2 žingsnis:

  • Įklijuokite šį VBA kodą.
 Sub PasteSpecialKeepFormat() "deklaruoti CopyCell ir PasteCell kaip diapazono kintamąjį Dim CopyCell As Range, PasteCell As Range "Suteikti pavadinimą įvesties laukelyje xTitleId = "ExcelWIKI" "Nustatyti, kad kopijavimo diapazonas bus pasirinktas iš darbalapio Set CopyCell = Application.Selection "Nustatyti įvesties laukelį, kad būtų paimtas diapazonas, iš kurio bus kopijuojama Set CopyCell = Application.InputBox("Pasirinkite diapazoną kopijuoti :", xTitleId, CopyCell.Address,Type:=8) 'Nustatykite įvesties langelį, kad būtų paimtas diapazonas, į kurį reikia įklijuoti Set PasteCell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) 'Pasirinkto diapazono kopijavimo komanda CopyCell.Copy 'Pasirinkto diapazono įklijavimo komanda PasteCell.Parent.Activate 'Komanda, kad įklijuotose ląstelėse būtų išsaugotas šaltinio formatavimas PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

3 veiksmas:

  • Išsaugoti programą ir paspauskite F5 jį paleisti.
  • Pasirodžius "ExcelWIKI langelį, pasirinkite diapazoną $B$4:$C$11 .
  • Spustelėkite GERAI .

4 veiksmas:

  • Pasirinkite bet kurią tuščią ląstelę, kurią norite įklijuoti.
  • Tada spustelėkite GERAI.

  • Todėl, išlaikydami formatą, gausite įklijuotą vertę.

Skaityti daugiau: Skirtumas tarp "Paste" ir "Paste Special" programoje "Excel

2. Taikykite VBA PasteSpecial, kad pasirinktumėte diapazoną ir išsaugotumėte "Excel" šaltinio formatavimą

Svetainėje VBA , taip pat galite nurodyti intervalus ir juos kopijuoti bei įklijuoti, išlaikydami šaltinio formatavimą. Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.

1 žingsnis:

  • Paspauskite Alt + F11 atidaryti Makro .
  • Sukurkite naują modulį iš Įdėkite
  • Tiesiog įklijuokite šiuos įrašus VBA diapazono kodas B4:C11 .
 Sub pasteSpecial_KeepFormat() 'pasirinkite diapazoną kopijuoti Range("B4:C11").Copy 'pasirinkite ląstelę įklijuoti 'komanda pasteSpecial išlaikyti formatą Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

2 žingsnis:

  • Galiausiai išsaugokite programą ir paspauskite F5 paleisti. Todėl pamatysite pakeitimus, kaip parodyta toliau pateiktame paveikslėlyje.

Skaityti daugiau: VBA specialusis įklijavimas, skirtas kopijuoti vertes ir formatus "Excel" programoje (9 pavyzdžiai)

Panašūs skaitiniai

  • VBA kodas dviem "Excel" lapams palyginti ir skirtumams kopijuoti
  • "Excel VBA": ląstelės reikšmės kopijavimas ir įklijavimas į kitą ląstelę
  • Kaip nukopijuoti kelias ląsteles į kitą "Excel" lapą (9 metodai)
  • "Excel VBA": diapazono kopijavimas į kitą sąsiuvinį
  • [Pataisyta]: "Excel" neveikia kopijavimas ir įklijavimas dešiniuoju pelės klavišu (11 sprendimų)

3. Deklaruokite kintamąjį taikydami VBA PasteSpecial ir išlaikykite šaltinio formatavimą "Excel" programoje

Deklaruodami kintamuosius ir nustatydami kintamuosius skirtingiems intervalams, atlikite toliau nurodytus veiksmus, kad įterptumėteSpecial į VBA .

1 žingsnis:

  • Pirmiausia paspauskite Alt + F11 atidaryti VBA makrokomandos .
  • Pasirinkite naują Modulis .
  • Tada įklijuokite šiuos įrašus VBA kodas .
 Sub Copy_Paste_Special() 'Deklaruoti kintamuosius Dim copy_Rng As Range, Paste_Range As Range 'Kopijavimo diapazono komanda Set copy_Rng = Range("B4:C11") 'Įklijavimo diapazono komanda Set Paste_Range = Range("E4") copy_Rng.Copy 'Įklijuoti komandą į pasteSpecial išlaikant formatą Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

2 žingsnis:

  • Išsaugoję programą, paspauskite F5 paleisti.
  • Todėl nukopijuotas diapazonas bus įklijuotas išlaikant ankstesnį šaltinio formatavimą.

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

4. Naudokite VBA PasteSpecial ir išsaugokite šaltinio formatavimą kitame "Excel" darbalapyje

Šioje dalyje pakalbėsime apie labai svarbų metodą. Kadangi mes apžvelgsime, kaip naudoti PasteSpecial VBA keliuose sąsiuviniuose. Pavyzdžiui, nukopijuosime iš "Sheet4 ir įklijuokite jį į "Lapas5 ,", kaip parodyta toliau pateiktuose veiksmuose.

1 žingsnis:

  • Atidaryti VBA makrokomandos , paspauskite Alt + F11
  • Įdėkite skirtuką, pasirinkite Modulis.
  • Tada įklijuokite šiuos įrašus VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Deklaruoti kintamuosius Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Nustatyti diapazono paskirties vietą kintamajam Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") Set pasteRng = Worksheets("Sheet5") 'nustatyti įklijuotų ląstelių paskirties vietą 'For cell E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Komanda nukopijuoti diapazoną copyRng.Range("B4:C11").Copy 'Komanda įklijuoti diapazoną Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

2 žingsnis:

  • Norėdami paleisti programą, paspauskite F5 išsaugojus programą.
  • Todėl įklijuotą reikšmę gausite į 5 lapas išlaikant šaltinio formatą.

Skaityti daugiau: Kaip naudoti specialiąją komandą "Paste" programoje "Excel" (5 tinkami būdai)

Išvada

Apibendrinant, tikiuosi, kad dabar žinote, kaip naudoti "Excel" VBA įklijuoti specialųjį Išsaugoti šaltinio formatavimą. Visų šių strategijų turėtumėte išmokti savo duomenis ir jomis naudotis. Išnagrinėkite pratybų knygą ir pritaikykite tai, ko išmokote. Tokias paskaitas ir toliau skaityti mus motyvuoja svarbi jūsų parama.

Jei turite klausimų, nedvejodami kreipkitės į mus. Pasidalykite savo mintimis toliau esančiame komentarų lauke.

Į jūsų klausimus kuo greičiau atsakys Exceldemy darbuotojai.

Būkite su mumis ir toliau mokykitės.

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