इस ट्यूटोरियल में, आप VBA मैक्रो का उपयोग करके कॉपी और पेस्ट और कट एंड पेस्ट करने के लिए कई अलग-अलग तरीके सीखेंगे। अधिक उन्नत कॉपी और पेस्टिंग विकल्पों के लिए वैल्यू पेस्टिंग और पेस्ट स्पेशल पर सहयोगी ट्यूटोरियल पढ़ें।
इस कोड का उपयोग करने के लिए: विजुअल बेसिक एडिटर खोलें (ऑल्ट + F11), एक नया मॉड्यूल डालें (सम्मिलित करें> मॉड्यूल) और मॉड्यूल में वांछित कोड को कॉपी और पेस्ट करें।
एक सेल को कॉपी (कट) और पेस्ट करें
यह उदाहरण किसी एकल कक्ष, A1 को B1 पर कॉपी या कट और पेस्ट करता है:
123456789 | सब पेस्ट_वनसेल ()'एकल सेल को कॉपी और पेस्ट करें'रेंज ("ए 1")। कॉपी रेंज ("बी 1")'एकल कक्ष को काटें और चिपकाएँ'रेंज ("ए 1")। कट रेंज ("बी 1")अंत उप |
कॉपी चयन
यदि आप सक्रिय चयन की प्रतिलिपि बनाना चाहते हैं तो इसका उपयोग करें:
123456789101112 | उप प्रतिलिपि चयन ()'एक परिभाषित सीमा में चिपकाएँ'चयन। कॉपी रेंज ("बी 1")'ऑफ़सेट पेस्ट (2 सेल नीचे और 1 दाईं ओर ऑफ़सेट करें'चयन.प्रतिलिपिचयन.ऑफ़सेट(2,1).पेस्टApplication.CutCopyMode = Falseअंत उप |
सेल की एक श्रृंखला को कॉपी (कट) और पेस्ट करें
यह उदाहरण सेल की एक श्रृंखला को कॉपी या कट और पेस्ट करता है, A1:A3 से B1:B3 :
123456789 | उप पेस्ट_रेंज ()'कोशों की एक श्रृंखला को कॉपी और पेस्ट करें'रेंज ("ए 1: ए 3")। कॉपी रेंज ("बी 1: बी 3")'कोशिकाओं की एक श्रृंखला को काटें और चिपकाएँ'रेंज ("ए 1: ए 3")। कट रेंज ("बी 1: बी 3")अंत उप |
एक संपूर्ण कॉलम को कॉपी (काट) और पेस्ट करें
नीचे हम कुछ त्वरित उदाहरण प्रदर्शित करेंगे। विस्तृत उदाहरणों, स्पष्टीकरणों और विविधताओं के लिए पंक्तियों और स्तंभों को कॉपी और पेस्ट करने पर हमारा लेख पढ़ें।
यह उदाहरण एक पूरे कॉलम को कॉपी या कट और पेस्ट करता है, ए ओवर टू बी:
12345678910 | उप पेस्टवन कॉलम ()'कॉपी और पेस्ट कॉलमरेंज ("ए: ए")। कॉपी रेंज ("बी: बी")'कॉलम को काटें और चिपकाएँ'रेंज ("ए: ए")। कट रेंज ("बी: बी")अंत उप |
कॉपी करें (काटें) और एक पूरी पंक्ति पेस्ट करें
यह उदाहरण 1 से 2 तक पूरी पंक्ति को कॉपी या कट और पेस्ट करता है:
12345678910 | उप पेस्ट_वनरो ()'कॉपी और पेस्ट रोरेंज ("1: 1")। कॉपी रेंज ("2: 2")'कट एंड पेस्ट रो'रेंज ("1: 1")। कट रेंज ("2: 2")अंत उप |
किसी अन्य वर्कशीट या वर्कबुक में कॉपी (कट) और पेस्ट करें
1234567891011121314 | सब पेस्ट_Other_Sheet_or_Book ()'किसी अन्य वर्कशीट में कट या कॉपी और पेस्ट करें'वर्कशीट ("शीट 1")। रेंज ("ए 1")। वर्कशीट कॉपी करें ("शीट 2")। रेंज ("बी 1") 'कॉपी करेंवर्कशीट्स ("शीट 1")। रेंज ("ए 1")। कट वर्कशीट्स ("शीट 2")। रेंज ("बी 1") 'कट'किसी अन्य कार्यपुस्तिका में कट या कॉपी और पेस्ट करें'कार्यपुस्तिकाएं ("book1.xlsm")। वर्कशीट ("शीट 1")। रेंज ("ए 1")। कॉपी _कार्यपुस्तिकाएं ("book2.xlsm")। वर्कशीट ("शीट 1")। रेंज ("बी 1") 'कॉपी करेंकार्यपुस्तिकाएं ("book1.xlsm")। वर्कशीट ("शीट 1")। रेंज ("ए 1")। कट _कार्यपुस्तिकाएं ("book2.xlsm")। वर्कशीट ("शीट 1")। रेंज ("बी 1") 'कटApplication.CutCopyMode = Falseअंत उप |
मूल्य पेस्ट
आम तौर पर, जब आप कॉपी और पेस्ट करते हैं तो आप सेल के सभी गुणों को पेस्ट करते हैं: स्वरूपण, सूत्र, आदि… वैल्यू पेस्टिंग आपको सेल के मूल्यों को कॉपी और पेस्ट करने की अनुमति देता है और कुछ नहीं। वीबीए में वैल्यू पेस्ट का सबसे आसान तरीका सेल के मूल्य को सीधे परिभाषित करना है:
123456789101112131415 | उप ValuePaste ()'वैल्यू पेस्ट सेल'रेंज ("बी 1")। मूल्य = रेंज ("ए 1")। मूल्यरेंज ("बी 1: बी 3")। मूल्य = रेंज ("ए 1: ए 3")। मूल्य:'कार्यपत्रकों के बीच मान सेट करें'वर्कशीट्स ("शीट 2")। रेंज ("ए 1")। वैल्यू = वर्कशीट्स ("शीट 1")। रेंज ("ए 1")। वैल्यू'कार्यपुस्तिकाओं के बीच मान सेट करें'कार्यपुस्तिकाएं ("book2.xlsm")। कार्यपत्रक ("पत्रक 1")। श्रेणी ("ए 1")। मूल्य = _कार्यपुस्तिकाएं ("book1.xlsm")। वर्कशीट ("शीट 1")। श्रेणी ("ए 1")। मूल्यApplication.CutCopyMode = Falseअंत उप |
स्पेशल पेस्ट करो
पेस्ट स्पेशल आपको सेल के विशिष्ट गुणों को कॉपी और पेस्ट करने की अनुमति देता है (उदाहरण: प्रारूप, मान, कॉलम की चौड़ाई, आदि)। यह आपको विशेष पेस्ट ऑपरेशन करने की भी अनुमति देता है (उदाहरण: रिक्त स्थान छोड़ें, स्थानांतरित करें)। हम नीचे कई उदाहरण देखेंगे, लेकिन गहराई से वैल्यू पेस्टिंग और पेस्ट स्पेशल पर हमारे ट्यूटोरियल को पढ़ें।
12345678910111213141516171819 | सब पेस्टस्पेशल ()'एक पेस्ट विशेष ऑपरेशन करें:रेंज ("ए 1")। कॉपी करें'पेस्ट प्रारूप'रेंज ("बी 1")। पेस्ट स्पेशल पेस्ट: = xlPasteFormats'कॉलम की चौड़ाई चिपकाएं'रेंज ("बी 1")। पेस्ट स्पेशल पेस्ट: = xlPasteColumnWidths'सूत्र चिपकाएँ'रेंज ("बी 1")। पेस्ट स्पेशल पेस्ट: = xl पेस्टफॉर्मूला'एक साथ कई पेस्ट विशेष ऑपरेशन करें:रेंज ("ए 1")। कॉपी करें'प्रारूप चिपकाएँ और स्थानान्तरित करें'रेंज ("बी 1")। पेस्ट स्पेशल पेस्ट: = xl पेस्टफॉर्मेट, ऑपरेशन: = xl कोई नहीं, स्किपब्लैंक: = _असत्य, स्थानान्तरित करना:=सत्यApplication.CutCopyMode = Falseअंत उप |
क्लिपबोर्ड साफ़ करें
कॉपी और पेस्ट करने के बाद आप क्लिपबोर्ड को साफ़ करना चाहेंगे (हम ऊपर दिए गए कुछ कोड उदाहरणों में करते हैं)। एक्सेल क्लिपबोर्ड को साफ़ करने के लिए, हम Application.CutCopyMode को गलत पर सेट करते हैं:
1 | Application.CutCopyMode = False |
इससे एक्सेल का क्लिपबोर्ड साफ हो जाएगा। हालांकि, यह विंडोज क्लिपबोर्ड को साफ नहीं करेगा। विंडो के क्लिपबोर्ड को साफ़ करने के लिए यहां दिए गए निर्देशों का पालन करें।