Ich habe den folgenden Code geschrieben, um alle Dateien in einem Verzeichnis durchzulaufen und bestimmte Werte von ihnen zu kopieren und sie wieder in die Hauptdatei einzufügen.Dateischleife überspringt fälschlicherweise Dateien
Das Problem, das ich habe, ist, dass der Code nie vollständig durch alle Dateien läuft und ich nie einen Fehler bekomme.
Da die Dateinamen dargestellt werden als 1 im Bild gezeigt - #####, dann 2 - #### usw.
Manchmal gibt es wie im Bild Vielfaches der ersten Reihe sind sind zwei 1 - ### 's, aber die Endzahlen sind immer noch unterschiedlich.
Das Problem ist, dass anstelle der tatsächlichen numerischen Reihenfolge der Code nur die erste Nummer und gehen von 1, 10, 11, 100 und vollständig überspringt den Rest.
Irgendwelche Ideen, wie man das löst?
Sub ReadDataFromCloseFile()
On Error GoTo ErrHandler
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim FileType As String
Dim FilePath As String
FileType = "*.xlsm*" 'The file type to search for
FilePath = "\\filepath\" 'The folder to search
Dim src As Workbook
Dim OutputCol As Variant
Dim Curr_File As Variant
OutputCol = 9 'The first row of the active sheet to start writing to
Curr_File = Dir(FilePath & FileType)
Do Until Curr_File = ""
' OPEN THE SOURCE EXCEL WORKBOOK IN "READ ONLY MODE".
Set src = Workbooks.Open(FilePath & Curr_File, True, True)
Sheets("Reporting").Range("I7:I750").Copy
Workbooks("Master.xlsm").Activate
Sheets("Sheet2").Select
Sheets("Sheet2").Cells(4, OutputCol).Select
ActiveCell.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
OutputCol = OutputCol + 1
' CLOSE THE SOURCE FILE.
src.Close False ' FALSE - DON'T SAVE THE SOURCE FILE.
Curr_File = Dir
Loop
Set src = Nothing
Application.EnableEvents = True
Application.ScreenUpdating = True
ErrHandler:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Auch die Schleife erfasst die mehreren 1er und 10er. Es überspringt einfach alles mit 2-9 darin. –
Sie haben dies ausprobiert, nachdem Sie das 'on error' kommentiert haben? In dem Moment kommst du einfach leise zurück, wenn etwas schief geht. –
Ja, ich löschte diesen Teil von meinem Code, aber es ist immer noch nicht Fehler auf mich :( –