In diesem Artikel betrachten wir ein Beispiel für ein Makro, das in vielen Arbeitsmappen nach Daten suchen und die ausgewählten Informationen in einer separaten Berichtsdatei aufzeichnen kann.
Öffnen Sie dazu Ihr Buch und gehen Sie zu
Sub Report_file()
'moonexcel.com.ua
Application.ScreenUpdating = False ' Deaktivieren Sie die Bildschirmaktualisierung
Set report = Workbooks("Report.xlsb").Worksheets(1)
find_field = report.[a1]
' Öffnen Sie den Dialog zur Auswahl der zu importierenden Dateien
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="All files (*.*), *.*", _
MultiSelect:=True, Title:=" Dateien auswählen! ")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox " Keine Datei ausgewählt! "
Exit Sub
End If
' Wir gehen alle ausgewählten Dateien einzeln durch
m = 1
While m <= UBound(FilesToOpen)
Set importWB = Workbooks.Open(Filename:=FilesToOpen(m))
Set importWS = importWB.Worksheets(1)
' Wir schlagen die Zellen“ Hüte "
For Each cell2 In report.Range(report.Cells(1, 2), report.Cells(1, report.UsedRange.Columns.Count))
On Error Resume Next: Err.Clear
' Suche nach Sinn in einem offenen Buch
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
' Übertragen Sie die gefundenen Werte in die Berichtsdatei
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
Danach können Sie zu Excel zurückkehren und unser Makro über das Menü ausführen