/ / मैं दो कार्यपुस्तिकाओं से विशिष्ट कोशिकाओं की प्रतिलिपि बनाने और उन्हें एक में संयोजित करने के लिए एक्सेल वीबीए का उपयोग कैसे करूं? - एक्सेल, वीबीए, एक्सेल-वीबीए

मैं दो कार्यपुस्तिकाओं से विशिष्ट कक्षों की प्रतिलिपि बनाने और उन्हें एक में संयोजित करने के लिए Excel VBA का उपयोग कैसे करूं? - एक्सेल, vba, एक्सेल-vba

मेरे पास दो एक्सेल वर्कबुक हैं जिनका मैं प्रयास कर रहा हूंसे पढ़ें। मुझे पहले कॉलम से पढ़ने की जरूरत है, और उस फ़ील्ड की तुलना दूसरी कार्यपुस्तिका में किसी फ़ील्ड से करनी है। यदि कोई मेल है, तो मैं मूल पंक्ति को एक नई एक्सेल कार्यपुस्तिका में कॉपी करना चाहता हूं, और दूसरे कॉलम के एक टुकड़े के साथ नाम जोड़ना चाहता हूं। इसके अलावा, यदि उस पंक्ति में एक और कॉलम भरा हुआ है, तो मुझे मूल पंक्ति को फिर से नई कार्यपुस्तिका में डुप्लिकेट करना होगा, और उस नाम को जोड़ना होगा। यह प्रति पंक्ति 20 बार तक होगा, लेकिन हमेशा नहीं।

असल में, मुझे ऐसा कुछ करने की ज़रूरत है:

Workbook A:

Name         OtherData1     OtherData2
--------     ----------     ----------
Railroad     Data           Data
MailRoute    Data           Data
BoatPath     Data           Data

Workbook B:

Name          rtuTopic[1]   rtuTopic[2]   [.....]   rtuTopic[20]
--------      --------      --------                --------
Railroad      Route_01      Route_05                Route_21
MailRoute     Route_12      NULL                    NULL
BoatPath      Route_01      Route_15                NULL

Workbook C (the result I want)

Name            OtherData1     OtherData2     rtuTopic
--------        ----------     ----------     --------
Railroad_01     Data           Data           Route_01
Railroad_05     Data           Data           Route_05
...........
Railroad_21     Data           Data           Route_21
MailRoute_12    Data           Data           Route_12
BoatPath_01     Data           Data           Route_01
BoatPath_15     Data           Data           Route_15

मुझे जिन स्तंभों को जोड़ने की आवश्यकता है वे सुविधाजनक नहीं हैंएक दूसरे के बगल में। वे ५ या ६ अन्य कॉलमों से अलग होते हैं, देते हैं या लेते हैं, और मुझे नहीं पता कि कहां से शुरू किया जाए। मैंने चारों ओर खोज की और देखा कि एक कार्यपुस्तिका से दूसरी कार्यपुस्तिका में पूरी शीट को कैसे कॉपी किया जाए, लेकिन मैंने यह नहीं देखा कि वास्तव में कैसे किया जाए विशेष रूप से एक पंक्ति को खोदें और डुप्लिकेट करें जिस तरह से मुझे चाहिए।

उत्तर:

जवाब के लिए 0 № 1

ऐसा लगता है कि आप एक विशिष्ट प्रश्न पूछने के बजाय आपके लिए लिखे जाने वाले समाधान के लिए पूछ रहे हैं, लेकिन यहां कुछ संकेत दिए गए हैं जो आपको जाने के लिए हैं:

यह मानते हुए कि अन्य कार्यपुस्तिकाएँ पहले से ही खुली हैं, आप कार्यपुस्तिकाओं की सूची का उपयोग करके अन्य पुस्तकों का संदर्भ ले सकते हैं,

Dim workBookA As Workbook
Dim workBookB As Workbook
Dim workBookC As Workbook

Set workBookA = Workbooks("Workbook A")
Set workBookB = Workbooks("Workbook B")
Set workBookC = Workbooks("Workbook C")

उन कार्यपुस्तिकाओं में शीट को शीट के नाम का उपयोग करके संदर्भित किया जा सकता है यानी यदि आप वर्कबुक ए पर "मेन" नामक शीट चाहते हैं तो आप इसका उपयोग कर सकते हैं:

workBookA.Sheets("Main").Activate

कार्यपुस्तिका सी पर शीट से एक कॉल "रिपोर्ट" में एक कॉलम की प्रतिलिपि बनाई जा सकती है जैसे:

workBookA.Sheets("Main").Range("a1", workBookA.Sheets("Main").Range("a1").End(xlDown)).Copy
workBookC.Sheets("Report").Range("a1").PasteSpecial

या यदि इसका पालन करना आसान है

workBookA.Sheets("Main").Activate
Range("a1", Range("a1").End(xlDown)).Copy
workBookC.Sheets("Report").Activate
Range("a1").PasteSpecial

सौभाग्य