Bu yazımızda birçok çalışma kitabındaki verileri arayabilen ve seçilen bilgileri ayrı bir rapor dosyasına kaydedebilen bir makro örneğini ele alacağız.
Bunu yapmak için kitabınızı açın, şu adrese gidin:
Sub Report_file() 'moonexcel.com.ua Application.ScreenUpdating = False ' ekran yenilemeyi devre dışı bırak Set report = Workbooks("Report.xlsb").Worksheets(1) find_field = report.[a1] ' içe aktarılacak dosyaları seçmek için iletişim kutusunu aç FilesToOpen = Application.GetOpenFilename _ (FileFilter:="All files (*.*), *.*", _ MultiSelect:=True, Title:=" Dosyaları seçin! ") If TypeName(FilesToOpen) = "Boolean" Then MsgBox " Dosya seçilmedi! " Exit Sub End If ' seçilen tüm dosyaları tek tek inceliyoruz m = 1 While m <= UBound(FilesToOpen) Set importWB = Workbooks.Open(Filename:=FilesToOpen(m)) Set importWS = importWB.Worksheets(1) ' hücreleri yendik” şapkalar " For Each cell2 In report.Range(report.Cells(1, 2), report.Cells(1, report.UsedRange.Columns.Count)) On Error Resume Next: Err.Clear ' açık bir kitapta anlam aramak 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 ' Bulunan değerleri rapor dosyasına aktarın 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
Bundan sonra Excel'e dönüp menü üzerinden makromuzu çalıştırabilirsiniz.