Sama seperti lembaran kerja ketika kita menyalin data dan menampalnya pada julat sel yang berbeza, kita mempunyai kaedah khas tampal yang membolehkan kita menampal data itu sendiri atau hanya formula atau hanya nilai dan fesyen yang sama kita boleh menggunakan Tempel Khas dalam VBA menggunakan kaedah harta tanah seperti berikut julat. tampal khas () menyediakan jenis yang kita mahukan dalam kurungan.
Tampal Istimewa di VBA
Paste Special in excel berfungsi dalam pelbagai cara dalam kerja seharian kita. Dengan menggunakan pasta khas, kita dapat melakukan lebih banyak perkara daripada yang biasa. Salin & tampal ada di mana-mana sahaja di dunia komputer. Tetapi pasta istimewa adalah perkara yang maju dalam excel.
Seperti pasta excel biasa khas di VBA juga, kami mempunyai kaedah khas tampal untuk menampal data yang disalin. Menyalin perkara dalam excel bukanlah perkara yang aneh bagi pengguna excel, mereka menyalin, menampal, dan selalunya, mereka menggunakan tampalan khas untuk memenuhi tujuan mereka dengan banyak cara.

Dalam excel biasa, tampal merangkumi banyak pilihan seperti nilai tampal sahaja, formula tampal, format tampal dan lain-lain…

Tampal khas harus Tampal, Operasi, Abaikan Kekosongan, dan Transpos seperti ini di VBA juga. Kami mempunyai semua parameter dengan kaedah Paste Special .
Formula Tampal Khas di VBA
Berikut adalah Formula untuk Tampal Khas di VBA

Paste Special tersedia dengan objek VBA Range kerana setelah menyalin data, kami akan menempelkannya dalam sel sel, jadi kaedah khas paste tersedia dengan objek jarak .
Jenis Tampal: Setelah menyalin data, bagaimana anda mahu menampal. Sama ada anda mahu menampal nilai, formula, format, pengesahan, dan lain-lain … Berikut adalah senarai lengkap pilihan yang tersedia di bawah Jenis Tampal.

Tampal Operasi Khas: Semasa menampal, adakah anda ingin melakukan apa-apa jenis operasi seperti tambah, tolak, pembahagian, pendaraban, atau tidak ada.

- (Skip Blanks): Sekiranya anda ingin melangkau kosong, anda boleh memilih BENAR atau SALAH.
- (Transpose): Sekiranya anda ingin memindahkan data, anda boleh memilih BENAR atau SALAH.
Contoh Paste Special di Excel VBA
Berikut adalah contoh tampalan khas dalam VBA.
Contoh # 1 - Tampal Nilai sahaja menggunakan Fungsi PasteSpecial VBA
Pada contoh pertama, kami akan melakukan hanya menampal nilai menggunakan tampalan khas. Andaikan di bawah adalah data yang anda ada dalam nama helaian yang disebut Data Jualan.

Sekarang kita akan melaksanakan tugas copy & paste menggunakan beberapa kaedah khas paste. Ikuti langkah di bawah.
Langkah 1: Buat nama makro terlebih dahulu.

Langkah 2: Pertama, salin julat A1 hingga D14 dari nama lembaran "Data Jualan." Untuk menyalin julat, gunakan kod di bawah.
Kod:
Julat ("A1: D14"). Salin

Langkah 3: Setelah menyalin data, kami akan menempelkan nilai dari G1 hingga J14. Pertama, rujuk julatnya.
Kod:
Julat ("G1: J14")

Langkah 4: Setelah memilih julat, kita perlu menampal. Oleh itu, letakkan titik (.) Dan pilih kaedah Tampal Khas.
Kod:
Sub PasteSpecial_Example1 () Julat ("A1: D14"). Julat Salin ("G1: J14"). Sub PasteSpecial Akhir

Langkah 5: Dari senarai drop-down, pilih pilihan "xlPasteValues."
Kod:
Sub PasteSpecial_Example1 () Julat ("A1: D14"). Julat Salin ("G1: J14"). PasteSpecial xlPasteValues End Sub

Langkah 6: Sekarang jalankan kod ini menggunakan kekunci F5 atau secara manual dan lihat apa yang berlaku.

Oleh itu, kod kami menyalin data dari A1 hingga D14 dan ditampal dari G1 ke J14 sebagai nilai.
Ia telah melakukan tugas kekunci pintas excel dalam lembaran kerja ALT + E + S + V .

Contoh # 2 - Tampal Semua menggunakan VBA PasteSpecial
Sekarang kita akan melihat apa yang berlaku sekiranya kita menjalankan tugas xlPasteAll.
Kod:
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
- Sekiranya anda ingin melangkau kekosongan, anda perlu memasukkan argumen sebagai BENAR secara lalai. Ia memerlukan SALAH.
- Sekiranya anda ingin memindahkan data, kita perlu memilih transposisi sebagai BENAR.
- Kami hanya dapat melakukan satu pasta khas pada satu masa.