Excel:多个文件运行,将每个文件名保存为变量

时间:2017-10-03 20:34:29

标签: excel vba

我有一个适用于一个文件的代码。它读取.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不知道如何在每个循环中通过代码保存每个单独的文件名作为变量。 -

任何帮助都将不胜感激!!

2 个答案:

答案 0 :(得分:1)

除非您知道确切的错误,否则打印错误说明总是好的。 您可以通过在错误处理程序下面添加以下行来找出错误。

MsgBox Err.Description

在放入简单的msgbox之后,我尝试了多个选择的代码,它似乎对我有用。 检查你是否缺少我引用数组。

MsgBox (myvariable(i))

答案 1 :(得分:0)

在循环声明中应该是:

For i = 0 To UBound(myvariable)