我有一个适用于一个文件的代码。它读取.xlsx文件的名称,并将Application.GetOpenFilename保存为变量。然后在代码中稍后使用它。
我希望能够在多个文件上运行此代码...例如:
用户选择文件名" x"," y"和" z"
apt-get install libc6-dev-i386
gcc -m32 application.c -o application
此代码应该每次运行,将内容运行到" x"然后" y",然后" 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
消息。
更新: 当我将MsgBox(" Hello")放在"代码中来做东西"它会根据我选择的文件打印它。当我写MsgBox(myvariable)时,我得到了这个错误,所以我认为这是因为Excel不知道如何在每个循环中通过代码保存每个单独的文件名作为变量。 -
任何帮助都将不胜感激!!
答案 0 :(得分:1)
除非您知道确切的错误,否则打印错误说明总是好的。 您可以通过在错误处理程序下面添加以下行来找出错误。
MsgBox Err.Description
在放入简单的msgbox之后,我尝试了多个选择的代码,它似乎对我有用。 检查你是否缺少我引用数组。
MsgBox (myvariable(i))
答案 1 :(得分:0)
在循环声明中应该是:
For i = 0 To UBound(myvariable)