Hallo Leute,
ich möchte mir in Excel die neueste Datei aus einem Ordner suchen und diese importieren.
Leider hab ich in meinem Code einen Fehler, wodurch VBA die Datei nicht findet.
Den Pfad habe ich versucht durch die Variable anzugeben, die die neueste Datei des Ordners wiedergibt.
Es wird der "Laufzeitfehler 53" angezeigt.
Ich hoffe Ihr könnt mir helfen.
Mein Code sieht wie folgt aus:
"
Sub TextImport()
Dim strVerzeichnis As String
Dim StrDatei As String
Dim I As Integer
Dim StrTyp As String
Dim Dateiname As String
Dim Dateiname_neu As String
Dim Zeit As Date
Dim rngFind As Range
Dim intRow As Integer
Dim strText As String, strFind As String
strVerzeichnis = "U:\Beispielordner\"
StrTyp = "*.xls"
Dateiname = Dir(strVerzeichnis & StrTyp)
Dateiname_neu = Dateiname
Zeit = FileDateTime(strVerzeichnis & Dateiname)
Do While Dateiname <> ""
If Zeit < FileDateTime(strVerzeichnis & Dateiname) Then
Zeit = FileDateTime(strVerzeichnis & Dateiname)
Dateiname_neu = Dateiname
End If
Dateiname = Dir
Loop
intRow = 1
Close
Open (strVerzeichnis & Dateiname_neu) For Input As #1
Do Until EOF(1)
Line Input #1, strText
intRow = intRow + 1
Cells(intRow, 1) = DateValue(Left(strText, 8))
strText = Right(strText, Len(strText) - 9)
Cells(intRow, 2) = TimeValue(Left(strText, 8))
strText = Right(strText, Len(strText) - InStr(strText, ";"))
strFind = Left(strText, InStr(strText, ";") - 1)
Set rngFind = Rows(1).Find(Trim(strFind), lookat:=xlWhole, LookIn:=xlValues)
If Not rngFind Is Nothing Then
strText = Right(strText, Len(strText) - InStr(strText, ";"))
Cells(intRow, rngFind.Column) = Left(strText, InStr(strText, ";") - 1)
End If
Loop
Close
End Sub
ich möchte mir in Excel die neueste Datei aus einem Ordner suchen und diese importieren.
Leider hab ich in meinem Code einen Fehler, wodurch VBA die Datei nicht findet.
Den Pfad habe ich versucht durch die Variable anzugeben, die die neueste Datei des Ordners wiedergibt.
Es wird der "Laufzeitfehler 53" angezeigt.
Ich hoffe Ihr könnt mir helfen.
Mein Code sieht wie folgt aus:
"
Sub TextImport()
Dim strVerzeichnis As String
Dim StrDatei As String
Dim I As Integer
Dim StrTyp As String
Dim Dateiname As String
Dim Dateiname_neu As String
Dim Zeit As Date
Dim rngFind As Range
Dim intRow As Integer
Dim strText As String, strFind As String
strVerzeichnis = "U:\Beispielordner\"
StrTyp = "*.xls"
Dateiname = Dir(strVerzeichnis & StrTyp)
Dateiname_neu = Dateiname
Zeit = FileDateTime(strVerzeichnis & Dateiname)
Do While Dateiname <> ""
If Zeit < FileDateTime(strVerzeichnis & Dateiname) Then
Zeit = FileDateTime(strVerzeichnis & Dateiname)
Dateiname_neu = Dateiname
End If
Dateiname = Dir
Loop
intRow = 1
Close
Open (strVerzeichnis & Dateiname_neu) For Input As #1
Do Until EOF(1)
Line Input #1, strText
intRow = intRow + 1
Cells(intRow, 1) = DateValue(Left(strText, 8))
strText = Right(strText, Len(strText) - 9)
Cells(intRow, 2) = TimeValue(Left(strText, 8))
strText = Right(strText, Len(strText) - InStr(strText, ";"))
strFind = Left(strText, InStr(strText, ";") - 1)
Set rngFind = Rows(1).Find(Trim(strFind), lookat:=xlWhole, LookIn:=xlValues)
If Not rngFind Is Nothing Then
strText = Right(strText, Len(strText) - InStr(strText, ";"))
Cells(intRow, rngFind.Column) = Left(strText, InStr(strText, ";") - 1)
End If
Loop
Close
End Sub