VBA (Excel) の MultiSelect ListBox に問題があります。ユーザーに ListBox でいくつかのオプションを選択してもらいたいのですが、その間にウィンドウを切り替えて、別のプログラムで選択肢を検索できるようにする必要もあります。この問題は、ユーザーがウィンドウを切り替えて Excel に戻ったときに発生します。彼がオプションを選択すると、ウィンドウを切り替える前に最後に選択されたオプションが状態を変更します (最後のアクションが選択されていた場合、オプションは選択解除されます。最後のアクションが選択解除されていた場合、オプションは選択されます)。
例
A と B を選択します。ウィンドウを切り替えて、Excel に戻ります。Dをクリックすると、Bが選択解除されます(ウィンドウを切り替える前に最後に選択されたオプション)。ユーザーにとっては本当に混乱します。
誰でもこの問題の原因を知っていますか? これを修正する方法はありますか?
すべての ListBox コード:
Private Sub Worksheet_Activate()
Worksheets(1).ListBox1.Clear
ile = Worksheets(2).Range("b1").Value
For i = 1 To ile
Worksheets(1).ListBox1.AddItem (Worksheets(2).Range("b" + CStr(i + 2)))
Next i
End Sub
Private Sub ListBox1_GotFocus()
Application.ScreenUpdating = False
Range("a1").Select
End Sub
フォーカスが消えるが問題は解決しない