Ich möchte alle Dateien in einem bestimmten Ordner öffnen und habe den folgenden Code
Sub OpenFiles()
Dim MyFolder As String
Dim MyFile As String
MyFolder = "\\ILAFILESERVER\Public\Documents\Renewable Energy\FiTs\1 Planning
Department\Marks Tracker\Quality Control Reports"
MyFile = Dir(MyFolder & "\*.xlsx")
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile
Loop
End Sub
Das Problem, das ich habe, ist, dass es immer wieder versucht, die erste Datei im Ordner zu öffnen, und nicht weitergeht. Kann mir jemand helfen, ich bin ein bisschen ein Anfänger bei VBA und könnte wirklich etwas Hilfe gebrauchen. Ich versuche, ungefähr 30 Berichte im XLSX-Format zu öffnen. Vielen Dank im Voraus.
Sie müssen diese Zeile kurz vor loop
hinzufügen.
MyFile = Dir
Loop
Sie können Len(StrFile) > 0
in der Schleifenprüfanweisung verwenden!
Sub openMyfile()
Dim Source As String
Dim StrFile As String
'do not forget last backslash in source directory.
Source = "E:\Planning\03\"
StrFile = Dir(Source)
Do While Len(StrFile) > 0
Workbooks.Open Filename:=Source & StrFile
StrFile = Dir()
Loop
End Sub
Versuchen Sie den folgenden Code:
Sub opendfiles()
Dim myfile As Variant
Dim counter As Integer
Dim path As String
myfolder = "D:\temp\"
ChDir myfolder
myfile = Application.GetOpenFilename(, , , , True)
counter = 1
If IsNumeric(myfile) = True Then
MsgBox "No files selected"
End If
While counter <= UBound(myfile)
path = myfile(counter)
Workbooks.Open path
counter = counter + 1
Wend
End Sub