Ich habe einen Code, der für eine Datei funktioniert. Es liest den Namen der .xlsx-Datei und speichert den Application.GetOpenFilename als Variable. Dies wird später im Code verwendet.Excel: Mehrere Datei ausführen, Speichern Sie jeden Dateiname als Variable
Ich möchte diesen Code auf mehrere Dateien in der Lage zu laufen ... Beispiel:
Benutzer wählt Dateien Namen "x", "y" und "z"
Sub Test()
Dim myvariable as variant, i As Integer
myvariable = Application.GetOpenFilename(FileFilter:="Excel files (*.xlsx), *.xlsx", MultiSelect:=True)
On Error GoTo ERRORHANDLER
For i = 1 To UBound(myvariable)
'''code to do stuff to my variable'''
Next i
Exit Sub
ERRORHANDLER:
MsgBox "No files were selected, action cancelled."
End Sub
Dieser Code sollte jedes Mal laufen, macht das Zeug zu "x", dann "y", dann "z", aber ich bekomme immer die ERRORHANDLER
Nachricht.
Update: Wenn ich MsgBox ("Hallo") in den "Code to do sachen" setzen, druckt es es für so viele Dateien wie ich auswählen. Wenn ich MsgBox (myvariable) schreibe, bekomme ich diesen Fehler, also nehme ich an, dass es weil Excel nicht weiß, wie jeder einzelne Dateiname als die Variable während jeder Schleife durch den Code gespeichert wird. -
Jede Hilfe würde geschätzt werden !!
Kommentieren Sie die Fehlerbehandlung - wo genau schlägt es fehl und was ist der Fehler? Sie kodieren Attribute alle Arten von Fehler zu "keine Dateien ausgewählt": das ist nicht unbedingt genau. –
Hallo Tim, ich habe es auskommentiert und bekomme den "Laufzeitfehler 13, Type Mismatch" (Ich habe auch versucht, i = 1 zu i = 0 zu ändern, da jemand unten kommentierte, aber den gleichen Laufzeitfehler bekam. – mitchmitch24
Wenn ich Setzen Sie MsgBox ("Hallo") in den "Code, um Sachen zu tun", es druckt es für so viele Dateien, wie ich wähle. Wenn ich MsgBox (myvariable) schreibe, bekomme ich diesen Fehler, also nehme ich an, dass es weil Excel nicht wissen kann Speichern Sie jeden einzelnen Dateinamen als die Variable während jeder Schleife durch den Code. – mitchmitch24