Sub OpenLeesSluitFiles()
Const BronPad As String = "D:\testmap\" 'verwijzing naar de map met Excel-bestanden
Const BronWerkblad = "Report" 'verwijzing naar werkblad 2
Dim BronBoek As String, BronPadBoek As String
Dim BronSheet As Worksheet, DoelSheet As Worksheet
Dim productnummer As Double
productnummer = InputBox("geef sapnr. van het product")
'in deze werkmap worden de gegevens verzameld
Set DoelSheet = ActiveWorkbook.Worksheets(1)
' Doel wissen
DoelSheet.Range("A:A").ClearContents
' eerste werkmap lezen
BronBoek = Dir(BronPad & productnummer & "*.xls")
'zolang er werkmappen zijn onderstaande herhalen
Do Until BronBoek = ""
'bepaal het pad en de werkmapnaam
BronPadBoek = BronPad + BronBoek
'open werkmap uit de map met werkmappen
Workbooks.Open Filename:=BronPadBoek, ReadOnly:=True
'gebruik het juiste werkblad
Set BronSheet = ActiveWorkbook.Worksheets(BronWerkblad)
'volgende regel bepaalt de copy van bron naar doel
Range("B15:B25").Copy
DoelSheet.Range("C" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Transpose:=True
'sluit geopende werkmap zonder wijzigingen te bewaren
ActiveWorkbook.Close SaveChanges:=False
' volgende werkmap lezen
BronBoek = Dir
Loop
If BronBoek = "1" Then
'bepaal het pad en de werkmapnaam
BronPadBoek = BronPad + BronBoek
'open werkmap uit de map met werkmappen
Workbooks.Open Filename:=BronPadBoek, ReadOnly:=True
'gebruik het juiste werkblad
Set BronSheet = ActiveWorkbook.Worksheets(BronWerkblad)
'volgende regel bepaalt de copy van bron naar doel
Range("A15:A25").Copy
DoelSheet.Range("C1").PasteSpecial Transpose:=True
'sluit geopende werkmap zonder wijzigingen te bewaren
ActiveWorkbook.Close SaveChanges:=False
' volgende werkmap lezen
BronBoek = Dir
End If
End Sub