VBA制作一个列表框循环

时间:2016-02-14 01:11:44

标签: vba listbox counter

我想创建一个Listbox循环,但我总是遇到语法错误,不知道为什么。

这是实际代码:

'deselektion Listbox1
Dim i As Long
For i = 0 To ListBox1.ListCount - 1
ListBox1.Selected(i) = False
Next i

'deselektion Listbox2
    Dim f As Long
    For f = 0 To ListBox2.ListCount - 1
    ListBox2.Selected(f) = False
    Next f
.
.
.
.

依此类推,直到列表框10

我认为重写代码会很好。

For g= 1 To 10

 Dim i As Long
 For i = 0 To "ListBox & (g).ListCount - 1"
 ListBox & (g).Selected(i) = False
 Next i

Next g

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您需要将每个列表框控件分配给变量数组中的索引。

Dim listboxes(1 to 10) as Variant

Set listboxes(1) = Listbox1
...
Set listboxes(10) = Listbox10

现在,您可以使用您的代码循环遍历您创建的数组,我将从上面借用一些修改

For g= 1 To 10
    Dim i As Long
    For i = 0 To listboxes(g).ListCount - 1
       listboxes(g).Selected(i) = False
    Next i
Next g