Hallo,
Ik heb een map met daarin een 3000 excel documenten verdeeld over 32 verschillende mappen (wijken).
Elk document heeft dezelfde lay-out, en ik zou graag een totaal overzicht maken via een macro.
In dit overzicht wil ik bepaalde cellen selecteren, om zo een vergelijking te kunnen maken.
Ik ben zover dat ik dit per map(wijk) voor elkaar krijg.
Maar om 32 macro's te maken en deze dan om de beurt regelmatig te starten vind ik wat omslachtig.
Ik heb in een totaal andere macro namelijk een regel staan waardoor de submappen meegenomen worden.
Dit zou ideaal zijn om dat in deze macro ook te verwerken.
Hieronder de code welke ik momenteel gebruik:
Hopelijk kan iemand mij verder helpen.
En mocht er meer info nodig zijn, hoor ik het graag!
Ik heb een map met daarin een 3000 excel documenten verdeeld over 32 verschillende mappen (wijken).
Elk document heeft dezelfde lay-out, en ik zou graag een totaal overzicht maken via een macro.
In dit overzicht wil ik bepaalde cellen selecteren, om zo een vergelijking te kunnen maken.
Ik ben zover dat ik dit per map(wijk) voor elkaar krijg.
Maar om 32 macro's te maken en deze dan om de beurt regelmatig te starten vind ik wat omslachtig.
Ik heb in een totaal andere macro namelijk een regel staan waardoor de submappen meegenomen worden.
Dit zou ideaal zijn om dat in deze macro ook te verwerken.
Hieronder de code welke ik momenteel gebruik:
Code:
Option Explicit
Const sInlezen As String = "B3, B4, B5, K9, K55, I9, B9" 'uit te lezen cellen
Const sPad As String = "O:\Dienstverlening\Berekening\2012\wijk 1" 'directory waaruit gelezen moet worden
Const sBlad As String = "Blad1" 'blad waaruit gelezen moet worden
Sub InlezenBestanden()
Dim inlezen As Variant, fl, c As Range, i As Integer, i0 As Integer
i0 = Range(sInlezen).Cells.Count 'aantal cellen die je wenst uit te lezen -1
Application.DisplayAlerts = False
With Sheets("blad1")
For Each fl In CreateObject("scripting.filesystemobject").Getfolder(sPad).Files
If Right(fl.Name, 4) = ".xls" Then
Workbooks.Open sPad & "\" & fl.Name
On Error Resume Next
ReDim inlezen(i0)
inlezen(0) = fl.Name
i = 1
For Each c In Sheets(1).Range(sInlezen) 'kies hier het juiste werkblad !!!
inlezen(i) = c.Value 'opeenvolgende cellen worden netjes weggeschreven in die array
i = i + 1
Next
ActiveWorkbook.Close
If Err.Number <> 0 Then
Err.Clear
Else
If c(1) = "V" Then
.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, i0 + 1) = inlezen
End If
End If
End If
Next
End With
Application.DisplayAlerts = True
End Sub
En mocht er meer info nodig zijn, hoor ik het graag!