एक्सेल वर्कबुक्स के बीच डेटा ले जाने या कॉपी करने के लिए मैक्रो

यह आलेख आपको 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

अगर अंत

अंत उप

पिछला लेख अगला लेख

शीर्ष युक्तियाँ