ich habe eine Problemstellung, die ich mit meinem VBA-Wissen nicht gelöst bekommen. Ich habe ein Makro geschrieben, wodurch in einem definierten Ordner alle enthalteneen Excel-Mappen durchgegangen werden und bestimmte Zellen in eine Master-Mappe herausgeschrieben werden. Ich möchte nun, bevor die "Do until"-Schleife anfängt, in jede angefasste Mappe schauen, wie viele Zellen in einem bestimmten Bereich überhaupt beschrieben sind und entsprechend oft die Schleife laufen lassen. Das was ich nicht hinbekommen, ist die Anzahl der befüllten Zellen aus der jeweiligen Mappe zu generieren.
kann mir jemand helfen? Ich habe unten mal einen groben Versuch (von vielen :)) in das Makro geschrieben.
Gruß Jan
Sub Auslesen2()
Dim strPath As String, strFile As String, strTabName As String
Dim Spalte As Long
Dim Zeile As Long
Dim Zelle As Long
Dim Counter As Long
Dim Counter2 As Long
strPath = ActiveWorkbook.Worksheets("Abrechnung").Range("O6").Value
strTabName = "Service Report"
strFile = Dir(strPath & "*.xlsm")
Spalte = 1
Zeile = 1
Zelle = 26
Counter = 1
Counter 2 = 1
With ThisWorkbook.Sheets("Tabelle1")
Do Until strFile = ""
Counter2 = Application.WorksheetFunction.CountA(Workbooks(strFile).Sheets(strTabName). _
Range("C26:C35"))
Do Until Counter = Counter2
.Cells(Zeile, Spalte).Formula = "=('" & strPath & "[" & strFile & "]" & _
strTabName & "'!" & "C" & Zelle & ")"
.Cells(Zeile, 2).Formula = "=('" & strPath & "[" & strFile & "]" & _
strTabName & "'!" & "AQ" & Zelle & ")"
Zeile = Zeile + 1
Zelle = Zelle + 1
Counter = Counter + 1
Loop
Counter = 1
Zeile = Zeile + 1
Zelle = 26
strFile = Dir
Loop
End With
End Sub