我有一个Userform,它允许用户将项目从ListBox1
转移到ListBox2
。
ListBox2
中的项目应该是要导入的excel文件的文件名。
我对此有一个整体的了解,但是我遇到一个问题,就是我无法打开项目名称为ListBox2
的文件。
我的问题是,是否可以将Listbox
中的项目名称“转换”为字符串,以便用作打开文件的文件名?
我尝试使用MsgBox来测试Listbox2(i) / ListBox2.Name(i) / ListBox2.List(i)
参数是否返回任何值,但不幸的是,它没有返回任何值。它始终显示为空白。
'This is the part where I try to open the files indicated in ListBox2
Dim directory = "my directory is here"
For i = 0 To ListBox2.ListCount - 1
Application.Workbooks.Open Filename:= directory & "\" & "FinalExcel.xlsx" 'This one is for testing to open file and it works.
Application.Workbooks.Open Filename:= directory & "\" & ListBox2(i)
Next
答案 0 :(得分:0)
如评论中所述,以类似数组的方式引用ListBox
项的正确方法是通过ListBox.List(i)
路由。
另外一种好的做法是,首先检查ListBox
是否为空,因为尝试打开一个空文件(由于ListBox
字段不存在)将导致错误!
If Not ListBox2.ListCount = 0 Then
For i = 0 To ListBox2.ListCount - 1
Application.Workbooks.Open Filename:= directory & "\" & ListBox2.List(i)
Next i
End If