कभी-कभी हमें एक नई रिपोर्ट या समेकित डेटा फ़ाइल बनाने के लिए विभिन्न एक्सेल कार्यपुस्तिकाओं से शीट को संयोजित करने की आवश्यकता होती है। ऐसा ऑपरेशन मानक MS Excel टूल का उपयोग करके मैन्युअल रूप से किया जा सकता है, लेकिन इसमें बहुत समय और प्रयास लग सकता है। आइए विचार करें कि हम इस प्रक्रिया को कैसे स्वचालित कर सकते हैं और रिपोर्ट के साथ काम में तेजी ला सकते हैं।
उदाहरण के लिए, हमारे पास कई कार्यपुस्तिकाएँ Excel हैं, और हम बनाना चाहते हैं कार्यपत्रकों का संग्रह सभी पुस्तकों से एक फ़ाइल में। ऐसा करने के लिए, वह कार्यपुस्तिका खोलें जहाँ आप सभी शीट एकत्र करना चाहते हैं और निम्नलिखित मैक्रो कोड जोड़ें।
Excel कार्यपुस्तिका खोलने के साथ, जहाँ आप सभी शीट एकत्र करना चाहते हैं, Visual Basic editor (Alt+F11) खोलें, मॉड्यूल डालें VBA ( Insert - Module ) और इस मैक्रो कोड को वहां कॉपी करें:
Sub CombineWorkbooks()
'moonexcel.com.ua
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xls), *.xls", _
MultiSelect:=True, Title:="Files to Merge")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox " कोई फ़ाइल नहीं चुनी गई! "
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
उसके बाद, आप Excel पर वापस लौट सकते हैं और मेनू के माध्यम से हमारे मैक्रो को चला सकते हैं Tools - Macro - Macros (Alt+F8) . एक संवाद बॉक्स दिखाई देगा, जहां आपको एक या अधिक (Ctrl दबाकर) फ़ाइलों का चयन करना होगा, जिनकी शीट हम वर्तमान कार्यपुस्तिका में जोड़ना चाहते हैं।
यदि आप किसी भिन्न Excel फ़ाइल एक्सटेंशन का उपयोग करते हैं (उदाहरण के लिए, *.xlsx, *.xlsm, *.xlsb, आदि), तो आपको हमारे मैक्रो के कोड की नौवीं पंक्ति में उचित परिवर्तन करने की आवश्यकता होगी।