Excel-VBA ListBox项目到字符串功能

时间:2019-05-01 06:51:46

标签: excel vba

我有一个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

1 个答案:

答案 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