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
我想制作一个列表框循环,但我总是遇到语法错误,不知道为什么。
这是实际代码:
'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