Hallo zusammen,
ich habe ein kleines Problem und hoffe das ihr mir helfen könnt. Ich habe mir in Netz schon einen VBA Code besorgt, der eigentlich auch ganz gut funktioniert. Nur habe ich ein Problem, da die Summenzeile immer an einer anderen Stelle ist. Daher müsste nach dem Wort "Summe" gesucht und der Wert der in der J Spalte steht ausgegeben werden.
Könnte ihr mir helfen?
Viele Grüße
Fridolin
Hier mal der bisher verwendete Code:
Public Sub TabNeu()
Dim sPfad As String
Dim sDatei As String
Dim sBlatt As String
Dim aZellAdresse() As Variant, iZA As Long
Dim aErgebnis() As Variant, iE As Long
sBlatt = "Tabelle1"
aZellAdresse() = Array("J9", "J38", "J39", "J40", "J37", "J36")
'Schritt 1: Schleife über alle Excel Dateien in einem Verzeichnis
sPfad = "C:\Rechnungen\"
sDatei = Dir(CStr(sPfad & "*.xlsx"))
Do While sDatei <> ""
iE = iE + 1
ReDim Preserve aErgebnis(1 To UBound(aZellAdresse) + 2, 1 To iE)
aErgebnis(1, iE) = sDatei
For iZA = LBound(aZellAdresse) To UBound(aZellAdresse)
aErgebnis(iZA + 2, iE) = "='" & sPfad & "[" & sDatei & "]" & sBlatt & "'!" & aZellAdresse(iZA)
Next
'Nächste Datei
sDatei = Dir()
Loop
If iE > 0 Then
Application.ScreenUpdating = False 'Das "Flackern" ausstellen
'Schritt 2: Neues Arbeitsblatt für die Ergebnisse erstellen
With ThisWorkbook.Worksheets("Tabelle1")
With .Range("A2").Resize(UBound(aErgebnis, 2), UBound(aErgebnis, 1))
.Formula = WorksheetFunction.Transpose(aErgebnis)
.Formula = .Value
End With
End With
Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
End If
End Sub