Ich habe Code in VBA, die Arbeitsblätter mit dem gleichen Registerkartennamen aus verschiedenen Arbeitsmappen in eine Arbeitsmappe kopiert. Die Arbeitsmappen, von denen der Code abgerufen wird, befinden sich in einem Ordner. Der Code funktioniert einwandfrei in Excel 2010, aber wenn ich ihn in Excel 2013 ausführe, erhalte ich die folgende 1004 Fehlermeldung: "Sorry, wir konnten .... xlsx nicht finden. Ist es möglich, dass es verschoben, umbenannt oder gelöscht wurde. " Ich bin mir nicht sicher, wo ich mit der Fehlerbehebung beginnen soll. Ist jemand auf dieses Problem gestoßen oder hat irgendwelche Ideen, warum es in Excel 2010 und nicht in Excel 2013 gut funktionieren würde? Vielen Dank.VBA-Code funktioniert in Excel 2010, aber nicht Excel 2013
Sub CombineSheets()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = "PathName\Inputs"
ChDir sPath
sFname = "*"
sFname = Dir(sPath & "\" & sFname & ".xlsx*", vbNormal) <Code bombs here>
wSht = ("Risks")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
Sind Sie sicher, dass es versucht, Referenzdatei noch vorhanden ist, an der gleichen Stelle? –
Wenn es in der von Ihnen angegebenen Zeile bombardiert, ist es wahrscheinlich, dass Sie entweder keinen Ordner mit dem Namen 'Pfadname' als Unterverzeichnis des aktuellen Verzeichnisses haben oder dass' Pfadname' kein Unterverzeichnis namens 'Eingänge' hat . Haben Sie bestätigt, dass beide tatsächlich existieren? Beachten Sie, dass Sie 'PathName' als relatives Verzeichnis angegeben haben (dh es muss in demselben Ordner existieren, in dem Ihr Code ausgeführt wird). –
Ich bin sicher, dass die Referenz immer noch existiert und nichts hat sich geändert, seit ich das letzte Mal in Excel 2010 ausgeführt habe. Der Code wird 2013 verwendet, also versuche ich herauszufinden, was der Unterschied sein könnte. Gibt es eine andere Einstellung, die ich ändern muss? – AMol