Panašiai kaip ir darbalapyje, kai kopijuojame duomenis ir įklijuojame juos į kitą langelių diapazoną, turime specialų įklijavimo metodą, kuris leidžia mums įklijuoti duomenis kaip save arba tik formules arba tik reikšmes ir tą pačią madą, kurią galime naudoti „Specialusis įklijavimas“ naudojant VBA naudojant diapazono savybės metodas toks diapazonas. įklijuokite specialų (), nurodydami norimą tipą skliausteliuose.
Įklijuokite specialiai VBA
„Paste Special in excel“ kasdieniniame darbe tarnauja įvairiais būdais. Naudodami „paste special“, galime padaryti daug daugiau dalykų nei įprasti. Kopijuoti ir įklijuoti yra visur kompiuterių pasaulyje. Bet specialioji pasta yra pažangus dalykas „Excel“.
Kaip ir įprastas „Excel“ specialus įklijavimas VBA, taip pat turime specialų metodą įklijuoti nukopijuotus duomenis. „Excel“ daiktų kopijavimas nėra keistas dalykas „Excel“ vartotojams, jie kopijuoja, įklijuoja ir dažniausiai naudoja specialųjį įklijavimą, kad daugeliu atvejų atitiktų savo paskirtį.

Įprastoje programoje „Excel“ įklijuojama daugybė galimybių, pvz., Tik įklijuoti reikšmes, įklijuoti formules, įklijuoti formatus ir kt.

Specialus įklijavimas taip pat turi įklijuoti, valdyti, praleisti ruošinius ir taip perkelti į VBA. Visus parametrus turime naudodami „ Specialios pastos“ metodą.
Specialiosios pastos formulė VBA
Žemiau pateikiama specialios pastos formulė VBA

Specialųjį įklijavimą galima naudoti su objektu VBA Range, nes nukopijavę duomenis, juos įklijuosime langelių diapazone, todėl specialųjį metodą galima įklijuoti su range objektu.
Įklijavimo tipas: nukopijavę duomenis, kaip norite įklijuoti. Nesvarbu, ar norite įklijuoti reikšmes, formules, formatus, patvirtinimą ir kt. Žemiau yra visas parinkčių, esančių skyriuje Įklijuoti tipas, sąrašas.

Įklijuoti specialią operaciją: įklijuodami norite atlikti bet kokias operacijas, pvz., Sudėti, atimti, dalyti, dauginti ar jokių.

- (Praleisti blankus ): jei norite praleisti ruošinius, galite pasirinkti TRUE arba FALSE.
- (Perkelti): jei norite perkelti duomenis, galite pasirinkti TRUE arba FALSE.
Ypatingo įklijavimo „Excel VBA“ pavyzdžiai
Toliau pateikiami VBA specialios pastos pavyzdžiai.
1 pavyzdys. Tik įklijuokite vertes naudodami „VBA PasteSpecial“ funkciją
Pirmajame pavyzdyje atliksime tik vertybių įklijavimą naudodami specialųjį įklijavimą. Tarkime, kad žemiau yra duomenys, kuriuos turite lapo pavadinime, vadinamame „Pardavimų duomenys“.

Dabar atliksime kopijavimo ir įklijavimo užduotį naudodami kelis specialius įklijuoti metodus. Atlikite toliau nurodytus veiksmus.
1 veiksmas: pirmiausia sukurkite makrokomandos pavadinimą.

2 žingsnis: Pirmiausia nukopijuokite diapazoną nuo A1 iki D14 iš lapo pavadinimo „Pardavimų duomenys“. Norėdami nukopijuoti diapazoną, pritaikykite toliau pateiktą kodą.
Kodas:
Diapazonas ("A1: D14"). Kopija

3 žingsnis: Nukopijavę duomenis, įklijuosime vertes nuo G1 iki J14. Pirmiausia nurodykite diapazoną.
Kodas:
Diapazonas ("G1: J14")

4 žingsnis: Pasirinkę diapazoną, turime įklijuoti. Taigi įdėkite tašką (.) Ir pasirinkite „Įklijuoti specialųjį metodą“.
Kodas:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Kopijavimo diapazonas ("G1: J14"). PasteSpecial End Sub

5 žingsnis: Išskleidžiamajame sąraše pasirinkite parinktį „xlPasteValues“.
Kodas:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Kopijavimo diapazonas ("G1: J14"). PasteSpecial xlPasteValues End Sub

6 žingsnis: Dabar paleiskite šį kodą naudodami F5 klavišą arba rankiniu būdu ir sužinokite, kas atsitiks.

Taigi mūsų kodas nukopijavo duomenis nuo A1 iki D14 ir įklijavo iš G1 į J14 kaip reikšmes.
Jis atliko sparčiojo „Excel“ klavišo užduotį ALT + E + S + V darbalapyje .

2 pavyzdys - įklijuokite visus naudodami „VBA PasteSpecial“
Dabar pamatysime, kas atsitiks, jei atliksime „xlPasteAll“ užduotį.
Kodas:
Sub PasteSpecial_Example2() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteAll End Sub
Now, if you run this code manually through the run option or by pressing the F5 key, we will have as it is data.

Example #3 - Paste Formats using VBA PasteSpecial Function
Now we will see how to paste only formats. The Below code would do the job for us.
Code:
Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteFormats End Sub

If you run this code using the F5 key or manually, we will get the only format of the copied range, nothing else.

Example #4 - Paste Column Width using VBA Paste Special
Now we will see how to paste only column width from the copied range. For this, I have increased the column width for one of my data columns.

Apply the below code it will paste only the column width of the copied range.
Code:
Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteColumnWidths End Sub

Run this code and see the difference in the column width.

Now we can see Sales column width has been increased to the column width of our copied range column.
Example #5 - Copy the Data from One Sheet to Another Sheet using VBA Paste Special Option
We have seen how to copy and paste the data on the same sheet. Now we will how to paste from one sheet to another sheet.
Step 1: Before we select the range, we need to tell from which sheet we need to select the data.
Code:
Sub PasteSpecial_Example5() Worksheets ("Sales Data") End Sub

Step 2: After selecting the sheet by its name, then we need to select the range in that sheet. The copy it.
Code:
Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy End Sub

The above code says in the sheet name “Sales Data” copy the Range, (“A1:D14”)
Step 3: Since we are pasting it in a different sheet, we need to select the sheet by its name.
Code:
Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets ("Month Sheet") End Sub

Step 4: Now, in the sheet “Month Sheet,” select the range.
Code:
Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range ("A1:D14") End Sub

Step 5: Using Paste special, we will be pasting values and format.
Code:
Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats End Sub

Step 6: We are not only pasting values and format using VBA Paste Special, but we are pasting it as TRANSPOSE as well.
Code:
Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats, Transpose:=True End Sub

Now run this code. It will copy and transpose the data to the “Month Sheet.”

Things to Remember About Excel VBA PasteSpecial Function
- Jei norite praleisti tuščias vietas, pagal numatytuosius nustatymus turite įvesti argumentą kaip TRUE. Reikia FALSE.
- Jei norite perkelti duomenis, turime pasirinkti perkėlimą kaip TRUE.
- Vienu metu galime atlikti tik vieną specialią pastą.