TOP

विभिन्न फ़ाइलों से डेटा एकत्र करने के लिए स्पाइडर मैक्रो Excel

विवरण

इस लेख में, हम एक मैक्रो के उदाहरण पर विचार करेंगे जो कई कार्यपुस्तिकाओं में डेटा खोज सकता है और चयनित जानकारी को एक अलग रिपोर्ट फ़ाइल में रिकॉर्ड कर सकता है।


ऐसा करने के लिए, अपनी पुस्तक खोलें, पर जाएँ Visual Basic Editor (Alt+F11) , एक नया मॉड्यूल रिक्त जोड़ें (Insert - Module) और इस मैक्रो टेक्स्ट को वहां कॉपी करें:

Sub Report_file()
'moonexcel.com.ua
Application.ScreenUpdating = False ' स्क्रीन रीफ़्रेश अक्षम करें 

    Set report = Workbooks("Report.xlsb").Worksheets(1)
    find_field = report.[a1]
    
    ' आयात के लिए फ़ाइलों का चयन करने के लिए संवाद खोलें 
    FilesToOpen = Application.GetOpenFilename _
      (FileFilter:="All files (*.*), *.*", _
      MultiSelect:=True, Title:=" फ़ाइलें चुनें! ")

    If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox " कोई फ़ाइल चयनित नहीं! "
        Exit Sub
    End If
    
    ' हम सभी चयनित फ़ाइलों को एक-एक करके देखते हैं 
    m = 1
    While m <= UBound(FilesToOpen)
        Set importWB = Workbooks.Open(Filename:=FilesToOpen(m))
        Set importWS = importWB.Worksheets(1)
    
        ' हमने कोशिकाओं को हराया"  टोपी  " 
        For Each cell2 In report.Range(report.Cells(1, 2), report.Cells(1, report.UsedRange.Columns.Count))
            On Error Resume Next: Err.Clear
            ' खुली किताब में अर्थ तलाश रहा हूँ 
            tr = importWS.UsedRange.Find(find_field).Row
            tc = importWS.UsedRange.Find(find_field).Column
            x = importWS.Range(importWS.Cells(tr, tc), importWS.Cells(20000, tc)).Find(report.Cells(m + 1, 1).Value).Row
            y = importWS.UsedRange.Find(cell2.Value).Column
            ' पाए गए मानों को रिपोर्ट फ़ाइल में स्थानांतरित करें 
            report.Cells(m + 1, cell2.Column).Value = importWS.Cells(x, y).Value
        Next
        
        importWB.Close savechanges:=False
        m = m + 1
    Wend
         
Application.ScreenUpdating = True
End Sub

उसके बाद, आप Excel पर वापस लौट सकते हैं और मेनू के माध्यम से हमारे मैक्रो को चला सकते हैं Tools - Macro - Macros (Alt+F8) .