strFile = Dir("D:\Verzeichnis\Datei.xlsx")
überprüft ob Datei.xlsx im Verzeichnis D:\Verzeichnis\ vorhanden ist.
Ist die Datei vorhanden, liefert Dir() den Dateinamen; somit ist strFile = "Datei.xlsx"
Ist sie nicht vorhanden, liefert Dir() eine Zeichenkette mit der Zeichenlänge Null (0).
Anders gesagt: ist strFile = "" dann war der Dateipfad ungültig. Ergo solltest du überprüfen warum er das ist, wo du ihn doch vorher ermittelt hast. ;) Entweder wurde er falsch zusammen gesetzt, oder du ließt falsch / vom falschen Ort ein.
Um das heraus zu finden, musst du z.B. den Wert von strPath prüfen. Hier kommt Debuggen ins Spiel. Du solltest den Code im Einzelschritt (Zeile für zeile) ausführen - dies geht mit F8. Den aktuellen Inhalt einer Variable kannst du am einfachsten überprüfen, wenn du mit dem Mauszeiger über die Variable im Code-Editor gehst und dort kurz ruhen läßt - dann erscheint ein Tooltip mit dem aktuellen Wert der Variable. Alernativ kannst du alle Variablen auch im Lokal-Fenster einsehen (ggf. einblenden über das Menü Ansicht im VBA-Editor).
Grüße & gutes Gelingen
PS: Im Überflug ist mir z.B. aufgefallen, dass du nicht explizit die Tabellenblätter referenzierst - das kann mitunter zu Fehlern führen.
|