返回列表框的取消选择项的索引?

时间:2017-09-27 19:40:34

标签: vba excel-vba excel

我知道找到所选项目的索引,但我将如何找到已取消选择的项目?我有一个列表框,其中包含mutli select和checkbox选项。当我取消选择一个项目时,我想知道它的索引。

这是获取所选索引的代码。

Private Sub ListBox1_Change()
Dim lItem, indexNum As Long
For lItem = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(lItem) Then
        indexNum = lItem + 1
    End If
Next lItem
End Sub

1 个答案:

答案 0 :(得分:0)

这样的事情会起作用:

Private Sub ListBox1_Change()
Dim lItem, indexNum As Long
For lItem = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(lItem) Then
        indexNum = lItem + 1
    Else
        indexNum = lItem + 1
        deselected = indexNum
        MsgBox deselected
    End If
Next lItem
End Sub

如果选中,则总和。否则,它会添加一个新的但是做你想要的东西(在我的情况下是msgbox)

如果您只需要第一个取消选择的项目,请记住使用exit退出代码。在我的例子中,我有一个包含5个项目的列表。如果我选择了所有这些,没有任何反应。如果我然后选择了第一个,它会在msgboxes上给我2,3,4和5