我正在运行一个有3个列表框的UF。我每个都有BoxA_Click()
,BoxB_Click
个子,在执行时选择工作表上的单元格。如果我单击BoxA中的值,宏将执行并选择单元格。然后,如果我单击BoxB中的值,宏将执行并找到不同的单元格。问题是,当我单击BoxA时,如果我选择已经选择的值,则BoxA_Click()
宏将不会执行,因为我在技术上没有更改该特定框中的选择。
我尝试的解决方案是创建一个框架FrameMove,我放置了所有3个列表框。我试图写一些东西,当点击一个盒子时会取消选择其他2个盒子。
Private Sub BoxA_Click()
GoToCell(BoxA.Value)
Dim C As MSForms.Control
For Each C In FrameMove.Controls
If TypeOf C Is MSForms.ListBox Then 'C.ListIndex = -1 ???
Next C
End Sub
我目前正在遍历框架内的所有控件,因为我不确定如何专门遍历ListBoxes。当选择一个列表框时,有没有办法让这个工作取消选择所有其他列表框?
答案 0 :(得分:0)
添加一行代码,以便在每个Listbox点击事件结束时取消选择所选项目。
BoxA.Selected(0) = False
如果列表框是多重选择,则循环显示它们。
For i = 0 to BoxA.ListCount - 1
BoxA.Selected(i) = False
next i