एक्सेल वर्कबुक्स के बीच डेटा ले जाने या कॉपी करने के लिए मैक्रो
यह आलेख आपको VBA का उपयोग करके Microsoft Excel में स्प्रेडशीट के बीच डेटा की प्रतिलिपि बनाने या स्थानांतरित करने का तरीका सिखाएगा। इस विशेष उदाहरण में, हम आपको यह भी सिखाएंगे कि कैसे एक परिशिष्ट क्वेरी का उपयोग करके डेटा को संयोजित किया जाए। कार्यों का यह संयोजन आपको आसान विश्लेषण के लिए मौजूदा कार्यपत्रकों में डेटा को संयोजित करने की अनुमति देगा।
एक्सेल में डाटा को मूव या कॉपी करने के लिए मैक्रो
आइए एक मामला लेते हैं जिसमें आपको एक कार्यपुस्तिका से डेटा की प्रतिलिपि बनाने और फिर किसी अन्य कार्यपुस्तिका में सामग्री में संशोधन करने की आवश्यकता होती है। इस उदाहरण में, कार्यपुस्तिका एक (स्रोत कार्यपुस्तिका) में 1 2 3 4 5 और कार्यपुस्तिका दो में 6 7 8 9 0 है ।मैक्रो को चलाने के बाद, वर्कबुक दो में 6 7 8 9 0 1 2 3 4 5 होना चाहिए। दोनों वर्कबुक के प्रारूप समान हैं।
यहां एक मैक्रो है जो आपके डेटा को स्थानांतरित और जोड़ सकता है। (सुनिश्चित करें कि आपने कोड में नोट पढ़ा है):
उप कॉपीडाटा ()स्ट्रिंग के रूप में मंद sBook_t
मंद sBook_s स्ट्रिंग के रूप में
डिम sSheet_t स्ट्रिंग के रूप में
डिम sSheet_s स्ट्रिंग के रूप में
लंबे समय के रूप में मंद lMaxRows_t
लंबे समय के रूप में मंद lMaxRows_s
मंद sMaxCol_s स्ट्रिंग के रूप में
स्ट्रिंग के रूप में मंद sRange_t
मंद sRange_s स्ट्रिंग के रूप में
sBook_t = "डेटा WB- WB.xls को डेटा कॉपी करें"
sBook_s = "स्रोत डेटा WB - WB.xls में डेटा कॉपी करें"
sSheet_t = "लक्ष्य WB"
sSheet_s = "स्रोत"
lMaxRows_t = वर्कबुक (sBook_t)। शीट्स (sSheet_t) .Cells (पंक्तियाँ, "ए")। End (xlUp) .Row
lMaxRows_s = वर्कबुक (sBook_s)। शीट्स (sSheet_s) .Cells (पंक्तियाँ, "ए")। End (xlUp) .Row
sMaxCol_s = वर्कबुक्स (sBook_s)। शीट्स (sSheet_s) .Cells (1, कॉलम टाइप) .End (xlToLeft)।
sMaxCol_s = Mid (sMaxCol_s, 2, InStr (2, sMaxCol_s, "$") - 2)
यदि (lMaxRows_t = 1) तब
sRange_t = "A1:" और sMaxCol_s & lMaxRows_s
sRange_s = "A1:" और sMaxCol_s & lMaxRows_s
वर्कबुक (sBook_t)। शीट्स (sSheet_t) .Range (sRange_t) = वर्कबुक (sBook_s)। शीट्स (sS__s) .Range (sRange_s) .Value
अन्य
sRange_t = "A" & (lMaxRows_t + 1) और ":" और sMaxCol_s & (lMaxRows_t + lMaxRows_s - 1)
sRange_s = "A2:" और sMaxCol_s & lMaxRows_s
वर्कबुक (sBook_t)। शीट्स (sSheet_t) .Range (sRange_t) = वर्कबुक (sBook_s)। शीट्स (sS__s) .Range (sRange_s) .Value
' ###################### ध्यान दें #################
lines निम्नलिखित पंक्तियों का उपयोग सीरियल नंबर का उपयोग करना है, कॉपी किए जाने के बजाय इसे भी ठीक करना है
'अगर कोई जरूरत नहीं है, तो नीचे की रेखा को हटा दें
वर्कबुक्स (sBook_t)। शीट्स (sSheet_t) .Range ("A" & lMaxRows_t) .AutoFill डेस्टिनेशन: = वर्कबुक्स (sBook_t)। शीट्स (sSheet_t) .Range ("A" & lMaxRows_t & ":" a ") और" a "(l) (1)), टाइप करें: = xlFillSeries
अगर अंत
अंत उप