ich habe folgendes Problem:
Ich versuche eine Auswertung zu erstellen, in der mit einer for-Schleife mehrere Dokumente nacheinander öffne, den Inhalt kopiere, in die Hauptdatei einfüge und wieder schließe.
Das funktioniert auch ohne Probleme. Die Dokomente sind alle gleich aufgebaut:
"Name_Stunden_Monat.xlsm"
Die verschiedenen Namen werden aus einer Liste ausgelesen und die Dateinamen werden dynamisch innerhalb der Schleife erstellt.
Mit If Dir(Pfad) "" prüfe ich ob die Datei vorhanden ist. Wenn nicht soll eine MsgBox erscheinen. Wenn die Datei existiert wird diese geöffnet und mit Application.Sendkeys ("{enter}") wird einmal der Druck der Entertaste simuliert um eine Abfrage automatisch zu beantworten.
Nun das Problem:
Wenn einmal eine Datei geöffnet wurde und die Sendkeys-Funktion ausgeführt wurde werden alle MsgBoxen die danach geöffnet werden auch automatisch geschlossen. Sobald ich die Sendkeys-Funktion nicht mehr benutze tritt auch das Problem nicht mehr auf.
Es scheint also als ob durch Sendkeys das Drücken der Taste dauerthaft simuliert wird. Kann das sein? Wenn ich den Code mit dem Debugger ausführe, tritt das Problem auch nicht auf.
If Dir(Pfad) "" Then
Workbooks.Open Filename:=Pfad
Application.SendKeys ("{enter}")
.
.
.
else
MsgBox("Datei nicht vorhanden")
End if
So sieht der Code aus.
Ich hoffe ich habe das Problem deutlich genug beschrieben.
Viele Grüße
N0rb