VBA pastos vertės | 3 populiariausi patarimai, kaip nukopijuoti ir įklijuoti vertybes naudojant VBA

„Excel VBA“ įklijuojamos vertės

„Copy & Paste“ nėra pats didžiausias darbas pasaulyje !!! Tačiau norint kopijuoti ir įklijuoti naudojant specialią parinktį, reikia tam tikrų žinių apie VBA. Tai nėra tiesioginis procesas, nes paprastas kopijavimas ir įklijavimas. Vienas iš svarbių specialių pastos metodų yra „Paste Values“ VBA.

Kaip įklijuoti vertes „Excel“ naudojant VBA?

Šį „VBA Paste Value Excel“ šabloną galite atsisiųsti čia - „VBA Paste Value Excel“ šablonas

1 pavyzdys - specialios pastos naudojimas

Pavyzdžiui, pažiūrėkite į žemiau esantį darbalapio vaizdą.

B6 langelyje mes pritaikėme formulę, kad apskaičiuotume visas pardavimo vertes nuo B2 iki B5 langelių. Dabar, jei nukopijuosiu ir įklijuosiu langelį B6 į C6, negausiu 22 761 vertės, bet gausiu atitinkamą formulę.

Kad tą patį dalyką atliktume VBA, mums reikia kodavimo žinių. Parodysime, kaip įklijuoti reikšmes naudojant VBA. Atlikite toliau nurodytus veiksmus.

1 žingsnis: nukopijuokite langelį B6.

Norėdami nukopijuoti langelį B6, naudokite kodą kaip diapazoną („B6“)

2 žingsnis: Pasirinkite paskirties langelį. Šiuo atveju C6 ląstelė.

Kaip matote po kopijos, jis klausia „Paskirtis“. Tai ne kas kitas, o kur norite įklijuoti, todėl kaip diapazoną pasirinkite „Paskirties vieta“ („C6“)

Kodas:

 Sub Paste_Values ​​() Range ("B6"). Kopijavimo diapazonas ("C6") End Sub 
3 žingsnis: paleiskite kodą

Paleiskite šį kodą, mes gausime B6 kopiją C6.

Čia gavome tik formulę.

4 žingsnis: atlikite specialų įklijavimo metodą.

Norėdami atlikti specialų įklijavimo metodą, pažvelkime į žemiau pateiktą specialiojo įklijavimo metodo sintaksę.

Specialiame pastos metode mes turime kelis metodus. Atsižvelgdami į atliekamą operaciją, turime atitinkamai pasirinkti tipą.

Norėdami suprasti, suskaidykime kodą į dvi eilutes.

Pirmasis yra kopijuoti langelį B6.

Dabar kitoje eilutėje paskirties langelį įrašykite kaip diapazoną („C6“)

Dabar, norėdami pasiekti specialųjį metodą „Įklijuoti“, įdėkite tašką ir pradėkite rašyti raidę „P“.

Pirmiau pateiktose parinkčių parinktyse pasirinkite metodą „Įklijuoti specialiai“.

Pasirinkę metodą paspauskite tarpo klavišą, kad pamatytumėte įvairius specialius metodus.

Šioje parinkčių įvairovėje pasirinkite „xlPasteValues“.

Pasirinkę parinktį paspauskite tabuliavimo klavišą, kad pasirinktumėte automatiškai.

Kodas:

 Sub Paste_Values ​​() diapazonas ("B6"). Kopijavimo diapazonas ("C6"). PasteSpecial xlPasteValues ​​End Sub 

5 veiksmas: paleiskite kodą

Dabar paleiskite kodą, į ląstelę C6 turėtume gauti tik langelio B6 vertę.

Jei pastebite darbalapį paleidę kodą, jis vis dar veikia tik kopijavimo režimu.

Tai išjungs iškirptos kopijos režimą, kai bus atliktas specialus įklijavimo metodas.

2 pavyzdys - specialus įklijavimas su kilpomis

Įklijuoti specialų yra lengva, tačiau norint jį naudoti kaip didelio kodo dalį, reikia aukštesnio lygio kodavimo įgūdžių.

Pavyzdžiui, pažiūrėkite į žemiau esantį vaizdą.

Pirmiau pateiktame darbalapio paveikslėlyje stulpelyje „F“ turime bendrą stulpelį, ty langeliuose F2, F5, F8, F11 ir F14.

Dabar mano reikalavimas yra nukopijuoti kiekvieną bendrą langelį iš atitinkamos langelio ir įklijuoti stulpelyje „H“ su atitinkamomis ląstelėmis.

Naudodami žemiau esantį kodą, naudodami VBA kilpas, galime tai padaryti.

Kodas:

 Sub Paste_Values1 () Dim k As Integer Dim j As Integer j = 2 for k = 1–5 ląstelės (j, 6). Nukopijuokite langelius (j, 8). PasteSpecial xlPasteValues ​​j = j + 3 Kitas k End Sub 

Šis kodas su specialia įklijavimo parinktimi atliks užduotį nukopijuoti kiekvieną bendrą langelį ir įklijuoti stulpelyje „H“ su atitinkamomis ląstelėmis.

3 pavyzdys - kopijuoti iš darbalapio į kitą

Norėdami įklijuoti vertes iš vieno darbalapio į kitą, turime paminėti abu darbalapių pavadinimus. Žemiau pateikiamas to pavyzdys.

 Sub Paste_Values2 () darbalapiai ("Sheet1"). Diapazonas ("A1"). Kopijuoti darbalapius ("Sheet2"). Diapazonas ("A15"). PasteSpecial xlPasteValues ​​End Sub 

$config[zx-auto] not found$config[zx-overlay] not found