किसी निर्देशिका में फ़ाइलों के माध्यम से लूप कैसे करें और एक्सेल में डेटा को मास्टर शीट में कैसे कॉपी करें?
मान लीजिए कि एक फ़ोल्डर में कई एक्सेल वर्कबुक हैं, और आप इन सभी एक्सेल फाइलों के माध्यम से लूप करना चाहते हैं और एक्सेल में एक मास्टर वर्कशीट में समान नाम वर्कशीट की निर्दिष्ट सीमा से डेटा कॉपी करना चाहते हैं, तो आप क्या कर सकते हैं? यह आलेख विवरण में इसे प्राप्त करने की एक विधि का परिचय देता है।
किसी निर्देशिका में फ़ाइलों के माध्यम से लूप करें और VBA कोड के साथ डेटा को मास्टर शीट में कॉपी करें
किसी निर्देशिका में फ़ाइलों के माध्यम से लूप करें और VBA कोड के साथ डेटा को मास्टर शीट में कॉपी करें
यदि आप किसी निश्चित फ़ोल्डर में कार्यपुस्तिकाओं की सभी शीट1 से रेंज ए4:डी1 में निर्दिष्ट डेटा को मास्टर शीट में कॉपी करना चाहते हैं, तो कृपया निम्नानुसार करें।
1. वर्कबुक में आप एक मास्टर वर्कशीट बनाएंगे, दबाएं ऑल्ट + F11 कुंजी को खोलने के लिए अनुप्रयोगों के लिए माइक्रोसॉफ्ट विज़ुअल बेसिक खिड़की.
2। में अनुप्रयोगों के लिए माइक्रोसॉफ्ट विज़ुअल बेसिक खिड़की, क्लिक करें सम्मिलित करें > मॉड्यूल. फिर नीचे दिए गए VBA कोड को कोड विंडो में कॉपी करें।
वीबीए कोड: एक फ़ोल्डर में फ़ाइलों के माध्यम से लूप करें और डेटा को मास्टर शीट में कॉपी करें
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
नोट:
3। दबाएं F5 कोड चलाने की कुंजी.
4. उद्घाटन में ब्राउज विंडो, कृपया उस फ़ोल्डर का चयन करें जिसमें वे फ़ाइलें हैं जिनमें आप लूप करेंगे, और फिर क्लिक करें OK बटन। स्क्रीनशॉट देखें:
फिर वर्तमान कार्यपुस्तिका के अंत में "नई शीट" नामक एक मास्टर वर्कशीट बनाई जाती है। और चयनित फ़ोल्डर में सभी शीट1 की श्रेणी A4:D1 में डेटा वर्कशीट के अंदर सूचीबद्ध है।
संबंधित आलेख:
सर्वोत्तम कार्यालय उत्पादकता उपकरण
एक्सेल के लिए कुटूल के साथ अपने एक्सेल कौशल को सुपरचार्ज करें, और पहले जैसी दक्षता का अनुभव करें। एक्सेल के लिए कुटूल उत्पादकता बढ़ाने और समय बचाने के लिए 300 से अधिक उन्नत सुविधाएँ प्रदान करता है। वह सुविधा प्राप्त करने के लिए यहां क्लिक करें जिसकी आपको सबसे अधिक आवश्यकता है...
ऑफिस टैब ऑफिस में टैब्ड इंटरफ़ेस लाता है, और आपके काम को बहुत आसान बनाता है
- Word, Excel, PowerPoint में टैब्ड संपादन और रीडिंग सक्षम करें, प्रकाशक, एक्सेस, विसियो और प्रोजेक्ट।
- नई विंडो के बजाय एक ही विंडो के नए टैब में एकाधिक दस्तावेज़ खोलें और बनाएं।
- आपकी उत्पादकता 50% बढ़ जाती है, और आपके लिए हर दिन सैकड़ों माउस क्लिक कम हो जाते हैं!