Sarnaselt töölehele, kui kopeerime andmed ja kleepime need erinevasse lahtrivahemikku, on meil spetsiaalne kleepimismeetod, mis võimaldab meil kleepida andmed ise või ainult valemid või ainult väärtused ja sama moodi, mida saame kasutada spetsiaalse kleepimise abil VBA-s vahemiku omaduste meetod järgmises vahemikus. kleepige spetsiaalne (), pakkudes sulgudesse soovitud tüüpi.
Spetsiaalne kleepimine VBA-s
Paste Special in excel teenib meie igapäevatöös paljuski. Pasta special abil saame teha palju rohkem asju kui tavaliselt. Kopeerimine ja kleepimine on arvutimaailmas kõikjal. Kuid spetsiaalne pasta on Excelis edasijõudnud asi.
Nagu tavaline Exceli spetsiaalne kleepimine ka VBA-s, on ka meil kopeeritud andmete kleepimiseks spetsiaalne meetod. Excelis olevate asjade kopeerimine pole Exceli kasutajate jaoks kummaline asi, nad kopeerivad, kleepivad ja enamasti kasutavad nad spetsiaalset kleepimist oma eesmärgi täitmiseks mitmel viisil.

Tavalises excelis sisaldab pasta palju võimalusi, näiteks ainult kleebitavad väärtused, valemite kleepimine, vormingute kleepimine jne.

Spetsiaalne kleepimine peab ka VBA-s kleepima, toimima, tühjad kohad vahele jätma ja üle võtma. Kõik parameetrid on meil Paste Special meetodil.
VBA spetsiaalse valemi vormel
Allpool on VBA spetsiaalse kleepimise valem

Spetsiaalne kleepimine on saadaval objektiga VBA Range, kuna pärast andmete kopeerimist kleepime need lahtrivahemikku, nii et spetsiaalse kleepimise meetod on saadaval vahemikuobjektiga .
Kleebimise tüüp: kuidas soovite pärast andmete kopeerimist kleepida. Kas soovite kleepida väärtused, valemid, vormingud, valideerimine jne … Allpool on täielik loend valikutest Kleebi tüüp saadaval olevad valikud .

Erioperatsiooni kleepimine: kas soovite kleepimise ajal teha mis tahes toiminguid, näiteks liitmine, lahutamine, jagamine, korrutamine või ükski.

- (Jäta toorikud vahele): kui soovite toorikud vahele jätta, saate valida TÕENE või VALE.
- (Transpose): kui soovite andmed üle kanda, võite valida TRUE või FALSE.
Näited Exceli VBA spetsiaalsest kleepimisest
Järgnevalt on toodud näited spetsiaalsest pastast VBAs.
Näide # 1 - ainult väärtuste kleepimine funktsiooni VBA PasteSpecial abil
Esimeses näites kleepime ainult väärtused, kasutades spetsiaalset pasta. Oletame, et allpool on teie andmed lehe nimes nimega Müügiandmed.

Nüüd täidame paljundamise ja kleepimise ülesande, kasutades mitmeid kleepimise erimeetodeid. Järgige alltoodud samme.
1. samm: kõigepealt looge makro nimi.

2. samm: kõigepealt kopeerige vahemik A1 kuni D14 lehe nimest „Müügiandmed”. Vahemiku kopeerimiseks rakendage allolevat koodi.
Kood:
Vahemik ("A1: D14"). Kopeeri

3. samm: pärast andmete kopeerimist kleepime väärtused G1-st J14-ni. Esiteks viita vahemikule.
Kood:
Vahemik ("G1: J14")

4. samm: pärast vahemiku valimist peame kleepima. Pange punkt (.) Ja valige Kleebi erimeetod.
Kood:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Kopeerimisvahemik ("G1: J14"). PasteSpecial End Sub

5. samm: valige rippmenüüst valik „xlPasteValues”.
Kood:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Kopeerimisvahemik ("G1: J14"). PasteSpecial xlPasteValues End Sub

6. samm: käivitage nüüd see kood klahvi F5 abil või käsitsi ja vaadake, mis juhtub.

Nii et meie kood kopeeris andmed A1-st D14-ni ja kleepis väärtustest G1-st J14-ni.
Ta on töölehel ALT + E + S + V täitnud kiirklahvi excel .

Näide # 2 - kleepige kõik, kasutades VBA PasteSpecial
Nüüd näeme, mis juhtub, kui täidame xlPasteAll ülesande.
Kood:
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
- Kui soovite tühjad kohad vahele jätta, peate sisestama argumendi vaikimisi väärtuseks TÕENE. See võtab FALSE.
- Kui soovite andmeid üle kanda, peame valima ülevõtmise väärtuseks TRUE.
- Saame korraga teha ainult ühe spetsiaalse pasta.