質問: index + 1 end if end sub private sub combobox1_change() msgbox ("combobox1_changeイベント発生") end sub ------------------------------------
回答: 行おうとしていることは、コンボボックスで最終番号を選んだ場合、コマンドボタンを押せば選択状態をクリアするように読めました。 そもそもの話ですが、「application.enableevents = false」で止められるのは、excelオブジェクトのイベントだけで、formsオブジェクトのイベントは止めることはできません。コードはいいんですが、機能しないわけです。 enableeventsを使うという考えを生かすには、以下のようにすれば(フラグを設定する)イベントは実行されないはずです。 机上デバッグです。確認してください。 option explicit dim cancelflg as boolean ’■追加 private sub combobox1_change() if cancelflg then exit sub ’■追加 msgbox ("combobox1_changeイベント発生") end sub :: :: if index = num - 1 then ’ application.enableevents = false ’■コメント cancelflg=true ’■追加 combobox1.listindex = -1 '<----------(a) ’ application.enableevents = true ’■コメント cancelflg=false ’■追加 else : :