वीबीए वैल्यू पेस्ट और पेस्टस्पेशल

यह ट्यूटोरियल आपको दिखाएगा कि VBA में PasteSpecial का उपयोग केवल कुछ सेल गुणों (उदा. मान, प्रारूप) को चिपकाने के लिए कैसे किया जाता है।

एक्सेल में, जब आप किसी सेल को कॉपी और पेस्ट करते हैं तो आप सेल के सभी गुणों को कॉपी और पेस्ट करते हैं: मान, प्रारूप, सूत्र, संख्या स्वरूपण, सीमाएँ, आदि:

इसके बजाय, आप केवल कुछ सेल गुणों को चिपकाने के लिए "विशेष चिपकाएँ" कर सकते हैं। एक्सेल में, पेस्ट स्पेशल मेनू को शॉर्टकट CTRL + ALT + V (सेल कॉपी करने के बाद) से एक्सेस किया जा सकता है:

यहां आप उन सेल गुणों के सभी संयोजन देख सकते हैं जिन्हें आप पेस्ट कर सकते हैं।

यदि आप पेस्ट स्पेशल मेनू का उपयोग करते हुए मैक्रो रिकॉर्ड करते हैं, तो आप बस जेनरेट कोड का उपयोग कर सकते हैं। विशेष पेस्ट करने के लिए वीबीए का उपयोग करने का यह अक्सर सबसे आसान तरीका है।

पेस्ट मान

मान चिपकाएँ केवल सेल "मान" चिपकाता है। यदि कक्ष में कोई सूत्र है, तो मान चिपकाएँ सूत्र परिणाम चिपकाएगा।

यह कोड एक ही कार्यपत्रक पर एकल कक्ष के लिए मानों को कॉपी और पेस्ट करेगा:

12 रेंज ("ए 1")। कॉपी करेंरेंज ("बी 1")। पेस्ट स्पेशल पेस्ट: = xlPasteValues

अलग-अलग शीट पर कॉपी और वैल्यू पेस्ट करें

यह उदाहरण अलग-अलग कार्यपत्रकों पर एकल कक्षों के मूल्यों को कॉपी और पेस्ट करेगा

12 शीट्स ("शीट 1")। रेंज ("ए 1")। कॉपी करेंशीट्स ("शीट 2")। रेंज ("बी 1")। पेस्ट स्पेशल पेस्ट: = xlPasteValues

ये उदाहरण सेल की श्रेणी के लिए मानों को कॉपी और पेस्ट करेंगे:

कॉपी और वैल्यू पेस्ट रेंज

12 रेंज ("ए 1: बी 3")। कॉपी करेंरेंज ("C1")। पेस्ट स्पेशल पेस्ट: = xlPasteValues

कॉपी और वैल्यू पेस्ट कॉलम

12 कॉलम ("ए")। कॉपी करेंColumns("B").PasteSpecial Paste:=xlPasteValues

कॉपी और वैल्यू पेस्ट पंक्तियां

12 पंक्तियाँ(1).प्रतिलिपिपंक्तियाँ (2)। पेस्ट विशेष पेस्ट: = xlPasteValues

पेस्ट मान और संख्या प्रारूप

मान चिपकाने से केवल सेल मान चिपकाया जाएगा। संख्या स्वरूपण सहित कोई स्वरूपण चिपकाया नहीं गया है।

अक्सर जब आप मान चिपकाते हैं तो आप शायद संख्या स्वरूपण को भी शामिल करना चाहेंगे ताकि आपके मान स्वरूपित रहें। आइए एक उदाहरण देखें।

यहां हम प्रतिशत वाले सेल पेस्ट को मान देंगे:

12 शीट्स ("शीट 1")। कॉलम ("डी")। कॉपी करेंशीट्स ("शीट 2")। कॉलम ("बी")। पेस्ट स्पेशल पेस्ट: = xlPasteValues

ध्यान दें कि प्रतिशत संख्या स्वरूपण कैसे खो जाता है और इसके बजाय एक मैला दशमलव मान दिखाया जाता है।

इसके बजाय आइए पेस्ट वैल्यू और नंबर फॉर्मेट का उपयोग करें:

12 शीट्स ("शीट 1")। कॉलम ("डी")। कॉपी करेंशीट्स ("शीट 2")। कॉलम ("बी")। पेस्ट स्पेशल पेस्ट: = xlPasteValuesAndNumberFormats

अब आप देख सकते हैं कि प्रतिशत स्वरूप को बनाए रखते हुए संख्या स्वरूपण भी चिपकाया गया है।

.पेस्ट के बजाय मूल्य

मूल्यों को चिपकाने के बजाय, आप रेंज ऑब्जेक्ट की वैल्यू प्रॉपर्टी का उपयोग कर सकते हैं:

यह A2 के सेल मान को B2 के सेल मान के बराबर सेट करेगा

1 रेंज ("ए 2")। वैल्यू = रेंज ("बी 2")। वैल्यू:

आप एकल कक्ष के मान के बराबर कक्षों की श्रेणी भी सेट कर सकते हैं:

1 रेंज ("ए 2: सी 5")। वैल्यू = रेंज ("ए 1")। वैल्यू:

या कोशिकाओं की एक श्रेणी जो समान आकार की कोशिकाओं की अन्य समान आकार की श्रेणी के बराबर होती है:

1 रेंज ("बी 2: डी 4")। वैल्यू = रेंज ("ए 1: सी 3")। वैल्यू:

वैल्यू प्रॉपर्टी का उपयोग करना कम टाइपिंग है। इसके अलावा, यदि आप एक्सेल वीबीए के साथ कुशल बनना चाहते हैं, तो आपको सेल की वैल्यू प्रॉपर्टी के साथ काम करने से परिचित होना चाहिए।

सेल वैल्यू बनाम वैल्यू 2 प्रॉपर्टी

तकनीकी रूप से, सेल के Value2 गुण का उपयोग करना बेहतर है। Value2 थोड़ा तेज़ है (यह केवल बहुत बड़ी गणनाओं के साथ मायने रखता है) और Value प्रॉपर्टी आपको एक छोटा परिणाम दे सकती है, सेल को मुद्रा या दिनांक के रूप में स्वरूपित किया गया है। हालांकि, 99%+ कोड जो मैंने देखा है वह .Value का उपयोग करता है न कि .Value2 का। मैं व्यक्तिगत रूप से .Value2 का उपयोग नहीं करता, लेकिन आपको पता होना चाहिए कि यह मौजूद है।

1 रेंज ("ए 2")। वैल्यू 2 = रेंज ("बी 2")। वैल्यू 2

कॉपी पेस्ट बिल्डर

हमने एक "कॉपी पेस्ट कोड बिल्डर" बनाया है जो कोशिकाओं को कॉपी (या कट) और पेस्ट करने के लिए वीबीए कोड उत्पन्न करना आसान बनाता है। बिल्डर हमारा हिस्सा है वीबीए ऐड-इन: ऑटोमैक्रो.

ऑटोमैक्रो कई अन्य भी शामिल हैं कोड जेनरेटर, एक व्यापक कोड लाइब्रेरी, और शक्तिशाली कोडिंग टूल्स.

विशेष चिपकाएँ - प्रारूप और सूत्र

पेस्ट वैल्यू के अलावा, सबसे आम पेस्ट स्पेशल विकल्प पेस्ट फॉर्मेट और पेस्ट फॉर्मूला हैं

प्रारूप चिपकाएँ

पेस्ट प्रारूप आपको सभी सेल स्वरूपण पेस्ट करने की अनुमति देता है।

12 रेंज ("ए 1: ए 10")। कॉपी करेंरेंज ("बी 1: बी 10")। पेस्ट स्पेशल पेस्ट: = xlPasteFormats

पेस्ट सूत्र

चिपकाने वाले सूत्र केवल कक्ष सूत्रों को चिपकाएंगे। यदि आप सेल फ़ार्मुलों की प्रतिलिपि बनाना चाहते हैं, लेकिन सेल पृष्ठभूमि रंग (या अन्य सेल स्वरूपण) की प्रतिलिपि नहीं बनाना चाहते हैं तो यह भी बेहद उपयोगी है।

12 रेंज ("ए 1: ए 10")। कॉपी करेंरेंज ("बी १: बी १०")। पेस्ट स्पेशल पेस्ट: = एक्सएल पेस्टफॉर्मुलास

सूत्र और संख्या प्रारूप चिपकाएँ

ऊपर पेस्ट वैल्यू और नंबर फॉर्मेट के समान, आप फॉर्मूले के साथ नंबर फॉर्मेट को कॉपी और पेस्ट भी कर सकते हैं

यहां हम अकाउंटिंग नंबर फ़ॉर्मेटिंग और पेस्ट फ़ार्मुलों के साथ एक सेल फॉर्मूला कॉपी करेंगे।

12 शीट्स ("शीट 1")। रेंज ("डी 3")। कॉपी करेंशीट्स ("शीट 2")। रेंज ("डी 3")। पेस्ट स्पेशल xlPasteFormulas

ध्यान दें कि कैसे संख्या स्वरूपण खो जाता है और इसके बजाय एक मैला गैर-गोलाकार मान दिखाया जाता है।

इसके बजाय आइए पेस्ट फॉर्मूला और नंबर प्रारूपों का उपयोग करें:

12 शीट्स ("शीट 1")। रेंज ("डी 3")। कॉपी करेंशीट्स ("शीट 2")। रेंज ("डी 3")। पेस्ट स्पेशल xlPasteFormulasAndNumberFormats

अब आप देख सकते हैं कि लेखा प्रारूप को बनाए रखते हुए संख्या स्वरूपण भी चिपकाया गया है।

विशेष चिपकाएँ - स्थानान्तरित करें और रिक्त स्थान छोड़ें

विशेष चिपकाएँ - स्थानान्तरित करें

पेस्ट स्पेशल ट्रांसपोज़ आपको ऊपर-नीचे से बाएँ-दाएँ (या विज़-ए-वर्सा) के ओरिएंटेशन को बदलने वाले सेल को कॉपी और पेस्ट करने की अनुमति देता है:

12 शीट्स ("शीट 1")। रेंज ("ए 1: ए 5")। कॉपी करेंशीट्स ("शीट 1")। रेंज ("बी 1")। पेस्ट स्पेशल ट्रांसपोज़: = ट्रू

विशेष चिपकाएँ - रिक्त स्थान छोड़ें

स्किप ब्लैंक्स एक पेस्ट विशेष विकल्प है जिसका उपयोग उतनी बार नहीं किया जाना चाहिए जितना होना चाहिए। यह आपको कॉपी और पेस्ट करते समय केवल गैर-रिक्त कोशिकाओं की प्रतिलिपि बनाने की अनुमति देता है। तो रिक्त कक्षों की प्रतिलिपि नहीं बनाई जाती है।

नीचे इस उदाहरण में। हम कॉलम ए को कॉपी करेंगे, कॉलम बी में नियमित पेस्ट करेंगे और कॉलम सी में खाली पेस्ट को छोड़ देंगे। आप देख सकते हैं कि खाली सेल कॉलम सी में नीचे की छवि में पेस्ट नहीं किए गए थे।

123 शीट्स ("शीट 1")। रेंज ("ए 1: ए 5")। कॉपी करेंशीट्स ("शीट 1")। रेंज ("बी 1")। पेस्ट स्पेशल स्किपब्लैंक: = गलतशीट्स ("शीट 1")। रेंज ("सी 1")। पेस्ट स्पेशल स्किपब्लैंक: = ट्रू

अन्य पेस्ट विशेष विकल्प

विशेष चिपकाएँ - टिप्पणियाँ

1 शीट्स ("शीट 1")। रेंज ("ए 1")। कॉपी शीट्स ("शीट 1")। रेंज ("ई 1")। पेस्ट स्पेशल xlPasteComments

विशेष चिपकाएँ - सत्यापन

12 शीट्स ("शीट 1")। रेंज ("ए 1: ए 4")। कॉपी करेंशीट्स ("शीट 1")। रेंज ("बी 1: बी 4")। पेस्ट स्पेशल xlPasteValidation

विशेष पेस्ट करें - सभी स्रोत थीम का उपयोग कर रहे हैं

123 कार्यपुस्तिकाएं (1)। पत्रक ("शीट 1")। रेंज ("ए 1: ए 2")। कॉपी करेंवर्कबुक (2)। शीट्स ("शीट 1")। रेंज ("ए 1")। पेस्ट स्पेशलवर्कबुक (2)। शीट्स ("शीट 1")। रेंज ("बी 1")। पेस्ट स्पेशल xlPasteAllUsingSourceTheme

विशेष चिपकाएँ - सीमाओं को छोड़कर सभी

123 रेंज ("बी 2: सी 3")। कॉपी करेंरेंज ("ई 2")। पेस्ट स्पेशलरेंज ("H2")। PasteSpecial xlPasteAllExceptBorders

पेस्ट विशेष - कॉलम की चौड़ाई

मेरा एक निजी पसंदीदा। पेस्ट स्पेशल कॉलम की चौड़ाई कॉलम की चौड़ाई को कॉपी और पेस्ट करेगी।

123 रेंज ("ए 1: ए 2")। कॉपी करेंरेंज ("सी 1")। पेस्टस्पेशलरेंज ("ई 1")। पेस्ट स्पेशल xlPasteColumnWidths

PasteSpecial - सभी मर्जिंग कंडीशनल फ़ॉर्मेट

123 रेंज ("ए 1: ए 4")। कॉपी करेंरेंज ("सी 1")। पेस्टस्पेशलरेंज ("ई 1")। पेस्ट स्पेशल xlPasteAllMergingConditionalFormats

wave wave wave wave wave