Wenn ich den Punkt setzte, wird der Fehler immer noch ausgegeben.
Hier einmal mein Makro als ganzes. Eventuell habe ich da noch was übersehen.
Dim oMe As Worksheet, iZeile As Long, oDatei As Object
Dim oFS As Object, wbQuelle As Workbook, sBlatt As String
Set oMe = ThisWorkbook.ActiveSheet
Const sDateiPfad As String = "Pfad \"
iZeile = 19
Application.ScreenUpdating = False
Set oFS = CreateObject("Scripting.FileSystemObject")
For Each oDatei In oFS.GetFolder(sDateiPfad).Files
If InStrRev(oDatei.Name, "xlsx") Then
sBlatt = GetSheetNames(o.Blatt.Name)(0)
oMe.Cells(iZeile, 2) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("A2"))
oMe.Cells(iZeile, 3) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("B2"))
oMe.Cells(iZeile, 4) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("C2"))
oMe.Cells(iZeile, 5) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("E2"))
oMe.Cells(iZeile, 6) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("F2"))
oMe.Cells(iZeile, 7) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("G2"))
oMe.Cells(iZeile, 8) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("H2"))
oMe.Cells(iZeile, 9) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("I2"))
oMe.Cells(iZeile, 10) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("J2"))
oMe.Cells(iZeile, 11) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("K2"))
oMe.Cells(iZeile, 12) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("L2"))
oMe.Cells(iZeile, 13) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("M2"))
oMe.Cells(iZeile, 14) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("N2"))
oMe.Cells(iZeile, 15) = GetValue(sDateiPfad, oDatei.Name, sBlatt, Range("O2"))
oMe.Hyperlinks.Add Anchor:=oMe.Cells(iZeile, 17), Address:=sDateiPfad _
& oDatei.Name, TextToDisplay:=oDatei.Name
iZeile = iZeile + 1
End If
Next
Set oMe = Nothing: Set wbQuelle = Nothing
End Sub
Private Function GetValue(ByVal sPath As String, ByVal sFile As String, _
ByVal sSheet As String, oTarget As Object) As Variant
On Error GoTo ErrorHandler
If Right$(sPath, 1) "\" Then sPath = sPath & "\"
GetValue = ExecuteExcel4Macro("'" & sPath & "[" & sFile & "]" & sSheet & "'!" _
& oTarget.Range("A1").Address(, , xlR1C1))
On Error GoTo ErrorHandler
If IsError(GetValue) Then
GetValue = ExecuteExcel4Macro("'" & sPath & "[" & sFile & "]" & "Feuil1" & "'!" _
& oTarget.Range("A1").Address(, , xlR1C1))
End If
Exit Function
ErrorHandler:
GetValue = CVErr(xlErrRef)
End Function