VBA 制作一个列表框循环

VBA Make a Listbox Loop

我想制作一个列表框循环,但我总是遇到语法错误,不知道为什么。

这是实际代码:

'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

有人能帮帮我吗?

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

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