2017-09-27 10 views
0

私は選択したアイテムのインデックスを見つけることに気付いていますが、選択解除されたアイテムを見つけるにはどうすればいいですか?私は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 

答えて

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)

最初に選択解除された項目が必要な場合は、終了するようにコードを停止してください。私の例では、私は5項目のリストを持っていました。私がそれらのすべてを選択した場合、何も起こりませんでした。私が最初のものを選択した場合、それはmsgboxに2,3,4,5を与えてくれます

+0

私はそれを複数選択して選択を解除する必要があります。リストボックスの項目をチェックしてチェックを外し、 "1どの項目がクリックされたかをワークシートに残しておきます。 –

+0

私のmsgboxを、選択解除時に実行するのに必要なコードに置き換えてください。 – Moacir

+0

はい、しかし、それはあなたがリストにある別のアイテムを選択するとすぐに、単一の選択/選択解除でのみ機能し、選択または選択解除されたアイテムではなく、最初のアイテムインデックスに固執します。 –

関連する問題