2016-02-14 3 views
1

Я хочу создать Loop Listbox, но я всегда получаю синтаксическую ошибку, не знаю почему.VBA Make List List 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 
. 
. 
. 
. 

и так далее до ListBox 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 

Может ли кто-нибудь помочь мне, пожалуйста?

+0

Что, собственно, является синтаксической ошибкой? –

+0

The & дает вам проблемы, потому что говорит VBA, что есть два отдельных элемента, которые должны быть соединены вместе как строки. – CoveGeek

ответ

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 
+1

спасибо Господин – ManInTheMiddle