एक्सेल में डाटा को मूव या कॉपी करने के लिए मैक्रो

अक्टूबर 2016


इस बार हम आपको बताएंगे कि आप VBA का इस्तेमाल करते हुए माइक्रोसॉफ्ट एक्सेल में स्प्रेडशीटों के बीच डाटा का ट्रांसफर या उसे कॉपी कर सकती हैं. इस खास उदाहरण में हम आपको दिए गए सवाल की मदद से डाटा को कैसे कम्बाइन या जोड़ते हैं, ये बताएंगे. कम्बाइन करने का ये काम आपके मौजूदा वर्कशीट में डाटा को कम्बाइन करने में मदद करेगा ताकि आपका विश्लेषण आसान हो सके.

एक्सेल में डाटा को मूव या कॉपी करने के लिए मैक्रो

चलिए एक उदाहरण लेते हैं जिसमें आपको एक वर्कबुक में से डाटा कॉपी करने की जरूरत है और फिर आपको उसे बदलते हुए दूसरे वर्कबुक में डालना है. इसमें वर्कबुक संख्या एक (सोर्स बर्कबुक) में 1 2 3 4 5 और वर्कबुक संख्या दो में 6 7 8 9 0 है.

मैक्रो के सक्रिय होने के बाद वर्कबुक संख्या दो में 6 7 8 9 0 1 2 3 4 5 होना चाहिए. दोनों वर्कबुक का फॉरमैट एक है.

यहां एक मैक्रो दिया गया है जो आपके डाटा को ट्रांसफर और अमेंड यानी संलग्न कर सकता है. (को़ड में दिया गया NOTE पढ़ना जरूर याद रखें):

Sub CopyData()   
Dim sBook_t As String
Dim sBook_s As String

Dim sSheet_t As String
Dim sSheet_s As String

Dim lMaxRows_t As Long
Dim lMaxRows_s As Long

Dim sMaxCol_s As String

Dim sRange_t As String
Dim sRange_s As String

sBook_t = "Target Data WB- Copy data to WB.xls"
sBook_s = "Source Data WB - Copy data to WB.xls"

sSheet_t = "Target WB"
sSheet_s = "Source"

lMaxRows_t = Workbooks(sBook_t).Sheets(sSheet_t).Cells(Rows.Count, "A").End(xlUp).Row
lMaxRows_s = Workbooks(sBook_s).Sheets(sSheet_s).Cells(Rows.Count, "A").End(xlUp).Row

sMaxCol_s = Workbooks(sBook_s).Sheets(sSheet_s).Cells(1, Columns.Count).End(xlToLeft).Address
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

Workbooks(sBook_t).Sheets(sSheet_t).Range(sRange_t) = Workbooks(sBook_s).Sheets(sSheet_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

Workbooks(sBook_t).Sheets(sSheet_t).Range(sRange_t) = Workbooks(sBook_s).Sheets(sSheet_s).Range(sRange_s).Value

' ###################### NOTE #################
'the following lines are to be used of serial number is to be fixed too, instead of being copied
' यदि कोई जरूरत नहीं तो नीचे वाली लाइन डिलीट कर दें
Workbooks(sBook_t).Sheets(sSheet_t).Range("A" & lMaxRows_t).AutoFill Destination:=Workbooks(sBook_t).Sheets(sSheet_t).Range("A" & lMaxRows_t & ":A" & (lMaxRows_t + lMaxRows_s - 1)), Type:=xlFillSeries
और अगर

एंड सब

यह भी पढ़ें :
CCM (in.ccm.net) पर उपलब्ध यह डॉक्युमेंट«  एक्सेल में डाटा को मूव या कॉपी करने के लिए मैक्रो  » क्रिएटिव कॉमन लाइसेंस के तहत उपलब्ध कराया गया है. जैसा कि इस नोट में साफ जाहिर है, आप इस पन्ने को लाइसेंस के तहत दी गई शर्तों के मुताबिक संशोधित और कॉपी कर सकते हैं.