कार्यपत्रक के समान जब हम किसी डेटा को कॉपी करते हैं और एक अलग सेल रेंज पर पेस्ट करते हैं तो हमारे पास एक पेस्ट विशेष विधि होती है जो हमें डेटा को केवल या केवल सूत्रों या केवल मूल्यों और उसी फैशन के साथ पेस्ट करने की अनुमति देती है जिसका उपयोग हम VBA में पेस्ट स्पेशल का उपयोग कर सकते हैं रेंज प्रॉपर्टी मेथड इस प्रकार है। पेस्ट विशेष () उस प्रकार को प्रदान करना जिसे हम कोष्ठक में चाहते हैं।
VBA में पेस्ट विशेष
एक्सेल में पेस्ट स्पेशल हमारे दैनिक कार्यों में कई तरह से कार्य करता है। पेस्ट विशेष का उपयोग करके, हम सामान्य लोगों की तुलना में कई और चीजें कर सकते हैं। कंप्यूटर की दुनिया में हर जगह कॉपी और पेस्ट होता है। लेकिन पेस्ट स्पेशल एक्सेल में उन्नत चीज है।
VBA में नियमित एक्सेल पेस्ट की तरह, कॉपी किए गए डेटा को पेस्ट करने के लिए हमारे पास विशेष विधि है। एक्सेल उपयोगकर्ताओं के लिए चीजों को कॉपी करना कोई अजीब बात नहीं है, वे कॉपी, पेस्ट करते हैं, और ज्यादातर समय, वे कई तरीकों से अपने उद्देश्य की पूर्ति के लिए पेस्ट विशेष का उपयोग करते हैं।

नियमित एक्सेल में, पेस्ट में कई विकल्प शामिल होते हैं जैसे पेस्ट केवल मान, पेस्ट फॉर्मूला, पेस्ट फॉर्मेट और आदि…

पेस्ट विशेष को पेस्ट, ऑपरेशन, स्किप ब्लैंक्स और वीबीए में भी इस तरह स्थानांतरित करना होगा । हमारे पास पेस्ट विशेष विधि के साथ सभी पैरामीटर हैं ।
VBA में पेस्ट स्पेशल का फॉर्मूला
नीचे VBA में पेस्ट स्पेशल के लिए फॉर्मूला दिया गया है

पेस्ट स्पेशल VBA रेंज ऑब्जेक्ट के साथ उपलब्ध है क्योंकि डेटा को कॉपी करने के बाद, हम इसे सेल रेंज में पेस्ट करेंगे, इसलिए रेंज ऑब्जेक्ट के साथ पेस्ट स्पेशल तरीका उपलब्ध है ।
पेस्ट प्रकार: डेटा की प्रतिलिपि बनाने के बाद, आप कैसे पेस्ट करना चाहते हैं। चाहे आप मान, सूत्र, प्रारूप, सत्यापन, आदि पेस्ट करना चाहते हैं … नीचे पेस्ट प्रकार के तहत उपलब्ध विकल्पों की पूरी सूची है ।

पेस्ट स्पेशल ऑपरेशन: पेस्ट करते समय, क्या आप किसी भी तरह के ऑपरेशन को जोड़ना चाहते हैं, जैसे कि जोड़, घटाना, विभाजन, गुणन या कोई नहीं।

- (ब्लैंक को छोड़ें): यदि आप खाली छोड़ना चाहते हैं, तो आप TRUE या FALSE चुन सकते हैं।
- (ट्रांसपोज़): यदि आप डेटा ट्रांसफर करना चाहते हैं, तो आप TRUE या FALSE चुन सकते हैं।
एक्सेल VBA में पेस्ट स्पेशल के उदाहरण
VBA में पेस्ट विशेष के उदाहरण निम्नलिखित हैं।
उदाहरण # 1 - VBA PasteSpecial फ़ंक्शन का उपयोग करके केवल मान चिपकाएं
पहले उदाहरण में, हम पेस्ट विशेष का उपयोग करके केवल मूल्यों को चिपकाने का प्रदर्शन करेंगे। नीचे मान लें कि आपके पास शीट नाम में बिक्री डेटा है।

अब हम कई पेस्ट विशेष विधियों का उपयोग करके कॉपी और पेस्ट का कार्य करेंगे। नीचे दिए गए चरणों का पालन करें।
चरण 1: पहले एक मैक्रो नाम बनाएँ।

चरण 2: सबसे पहले, शीट नाम "बिक्री डेटा" से डी 1 को डी 14 तक कॉपी करें। सीमा की प्रतिलिपि बनाने के लिए, नीचे दिए गए कोड को लागू करें।
कोड:
रेंज ("A1: D14")। कॉपी

चरण 3: डेटा की प्रतिलिपि बनाने के बाद, हम G1 से J14 तक मानों को चिपकाएंगे। सबसे पहले, रेंज का संदर्भ लें।
कोड:
रेंज ("G1: J14")

चरण 4: सीमा का चयन करने के बाद, हमें पेस्ट करना होगा। इसलिए डॉट (?) लगाएं और पेस्ट स्पेशल विधि चुनें।
कोड:
उप PasteSpecial_Example1 () रेंज ("A1: D14")। कॉपी रेंज ("G1: 14")) PasteSpecial End Sub।

चरण 5: ड्रॉप-डाउन सूची से, "xlPasteValues" विकल्प चुनें ।
कोड:
उप PasteSpecial_Example1 () रेंज ("A1: D14")। कॉपी रेंज ("G1: 14)"। PasteSpecial xlPasteValues अंतिम उप।

चरण 6: अब इस कोड को F5 कुंजी या मैन्युअल रूप से चलाएं और देखें कि क्या होता है।

तो हमारे कोड ने A1 से D14 तक डेटा कॉपी किया और मान के रूप में G1 से J14 तक चिपकाया।
इसने वर्कशीट ALT + E + S + V में शॉर्टकट एक्सेल कुंजी का कार्य प्रदर्शित किया है ।

उदाहरण # 2 - VBA PasteSpecial का उपयोग करके सभी पेस्ट करें
अब हम देखेंगे कि यदि हम xlPasteAll का कार्य करते हैं तो क्या होता है।
कोड:
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
- यदि आप रिक्त छोड़ना चाहते हैं, तो आपको तर्क को डिफ़ॉल्ट रूप से TRUE के रूप में दर्ज करना होगा। यह FALSE लेता है।
- यदि आप डेटा ट्रांसफ़र करना चाहते हैं, तो हमें ट्रान्स के रूप में ट्रांज़ोज़ का चयन करना होगा।
- हम एक बार में केवल एक पेस्ट विशेष प्रदर्शन कर सकते हैं।