15.06.2020, 11:29
Hallo zusammen,
ich habe hier mehrere Dateien mit Daten, die in einer "Masterdatei" alle zusammengeführt werden. Dazu wird per VBA Datei für Datei geöffnet und die entsprechenden Informationen ausgelesen. Das funktioniert soweit auch einwandfrei.
Mein Problem ist nun Folgendes: In der Masterdatei wird in Spalte 124 der Name der Quelldatei angezeigt. Sprich aus welcher Datei der Datensatz kommt. Wenn aus einer Datei aber z.B. 5 Datensätze (Zeilen in der Masterdatei) kommen dann steht der Name der Datei nur in der ersten Zeile und nicht in allen 5 Zeilen.
Was dann dabei heraus kommt ist Folgendes:
In Zeile 5 wird der Name der Quelldatei ausgegeben - das ist richtig.
Aber dann kommt erst in Zeile 21 der nächste Name einer Quelldatei.
Alle Zeilen von 5 bis einschließlich 20 gehören zur gleichen Quelle - nämlich AP.
Wie bekomme ich es hin, dass auch in Zeile 6 bis 20 AP als Quelle steht?
ich habe hier mehrere Dateien mit Daten, die in einer "Masterdatei" alle zusammengeführt werden. Dazu wird per VBA Datei für Datei geöffnet und die entsprechenden Informationen ausgelesen. Das funktioniert soweit auch einwandfrei.
Mein Problem ist nun Folgendes: In der Masterdatei wird in Spalte 124 der Name der Quelldatei angezeigt. Sprich aus welcher Datei der Datensatz kommt. Wenn aus einer Datei aber z.B. 5 Datensätze (Zeilen in der Masterdatei) kommen dann steht der Name der Datei nur in der ersten Zeile und nicht in allen 5 Zeilen.
Code:
Sub Zusammenfassung_auflisten()
Dim sPfad As String, iRow As Integer
Dim Wb As Workbook, i As Integer, temp
'Ordner Pfad aus Zelle E1 laden
sPfad = Worksheets(1).Range("E1").Value
If Right(sPfad, 1) <> "\" Then sPfad = sPfad & "\"
temp = Dir$(sPfad & "*.xls*")
iRow = 5 '1.Zeile in Liste
With Worksheets(1)
'Alte Tabelle komplett löschen
.UsedRange.Offset(4, 0).ClearContents
Application.ScreenUpdating = False
On Error Resume Next
Do While temp <> ""
'Zusammenfassung überspringen
If InStr(temp, "Zusammenfassung") = 0 Then
'Quelldatei öffnen und auslesen
Application.DisplayAlerts = False
Err = Empty: Workbooks.Open sPfad & temp
If Err = Empty Then
Set Wb = ActiveWorkbook
' Quelle
.Cells(iRow, 124) = temp
Was dann dabei heraus kommt ist Folgendes:
In Zeile 5 wird der Name der Quelldatei ausgegeben - das ist richtig.
Aber dann kommt erst in Zeile 21 der nächste Name einer Quelldatei.
Alle Zeilen von 5 bis einschließlich 20 gehören zur gleichen Quelle - nämlich AP.
Wie bekomme ich es hin, dass auch in Zeile 6 bis 20 AP als Quelle steht?