в соответствии с Как обращаться к сгенерированным спискам и динамически добавлять элементы в VBA? Я сгенерировал несколько списков, которые я назначил для OnAction Sub.Событие OnAction должно показать мне количество выбранных элементов текущего ListBox.
. Для лучшего понимания:
например, я сгенерировал 5 списков (ListBox1, ListBox2, ...) на моем рабочем листе "FS".
Когда я нажимаю 1 элемент в ListBox1, MsgBox отображается с "1".
Если я щелкну по дополнительному элементу в ListBox1, MsgBox отобразит «2».
Но если я щелкну по другому элементу ListBox3, MsgBox должен показать «1».
'ListBoxName as a variable for current ListBox and probably the most problematic line
ListBoxName = ActiveControl.Name
selectedItems = 0
Set lb = FS.ListBoxes(ListBoxName)
'The following counts the selected items in target ListBox
For i = 1 To lb.ListCount Step 1
If lb.Selected(i) Then
selectedItems = selectedItems + 1
End If
Next i
'This part puts up the Message Box with the number of selected items in target ListBox
If selectedItems > 0 Then
MsgBox selectedItems
End If
Дополнительная информация: я пропустил объявления переменных для лучшего обзора.Я не использую ActiveX, и я не использую пользовательскую форму.Получение текущего имени Listbox поможет мне в дальнейшем программировании и задачах, которые я хочу выполнить.На мой взгляд, было так легко найти имя ListBox, в котором я сделал свой последний клик ...
Заранее спасибо!
РЕДАКТИРОВАТЬ :Код размещается в модуле «Module1» в Sub Module1.В другом модуле «генерация», где я генерирую списки, модуль Module1 запускается с lb.OnAction = "Module1.Module1"
.
EDIT2 , изменяющим «OnClick» на «OnAction»