Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7867 / 13645 ツリー ←次へ | 前へ→

【36382】ブックを閉じる際にコンボボックスのChangeイベントを抑止したい ともた 06/3/30(木) 11:24 質問[未読]
【36384】Re:ブックを閉じる際にコンボボックスのCh... Kein 06/3/30(木) 11:59 回答[未読]
【36391】Re:ブックを閉じる際にコンボボックスのCh... ともた 06/3/30(木) 12:17 お礼[未読]

【36382】ブックを閉じる際にコンボボックスのCha...
質問  ともた  - 06/3/30(木) 11:24 -

引用なし
パスワード
   こんにちわ。

 近頃、お世話になってます。

<<質問>>
ブックを閉じるときに、Workbook_BeforeCloseイベント前に
コンボボックスのChangeイベントが発生しているようで
Changeイベント内には、このタイミングで行われて欲しくない処理があります。

 このような場合にChangeイベントを抑止する手法はございますか?

 何のイベントでChangeイベントが発生したのかが分かればいいと思うのですが・・・その線で調査中です。
 その他良いアドバイスありましたらご教示お願いいたします。

【36384】Re:ブックを閉じる際にコンボボックスの...
回答  Kein  - 06/3/30(木) 11:59 -

引用なし
パスワード
   とりあえずイベントの発生を抑えるには Application.EnableEvents = False
を入れれば良いのですが、ブックオープンイベントの方で = True にするとして、
そこで Changeイベント が発生してしまわないか心配ですね。というか、いつ何時
そんな動作をするのか分からないから、もっと安定したやり方に変更しないとダメ
なような気がします。
ちなみに Closeイベント のときに発生する Changeイベント では、ConboBoxの
ListIndex は何になっていますか ? Changeイベントのコードの冒頭に

MsgBox ConmboBox1.ListIndex

と追加してみて、もし常に -1 を返すようなら

If ComboBox1.ListIndex = -1 Then Exit Sub

に変更しておけば良いでしょう。そうでなければChangeイベントは止めて、他の
イベントに変更するか、コマンドボタンを用意してコンボボックスのリストを
選んだ後、そのボタンのクリックイベントでのみ処理できるように変更するなど
の改造が必要になるでしょう。

【36391】Re:ブックを閉じる際にコンボボックスの...
お礼  ともた  - 06/3/30(木) 12:17 -

引用なし
パスワード
   Kein さん

 いつもありがとうございます。

>ちなみに Closeイベント のときに発生する Changeイベント では、ConboBoxの
>ListIndex は何になっていますか ? Changeイベントのコードの冒頭に
>
>MsgBox ConmboBox1.ListIndex
>
>と追加してみて、もし常に -1 を返すようなら
>
>If ComboBox1.ListIndex = -1 Then Exit Sub
>
>に変更しておけば良いでしょう。

まさしくです。
ListIndex=-1の際に挙動がおかしくなっているのでした。

If ComboBox1.ListIndex = -1 Then Exit Sub

にて対応してところ要件を満たす動作が確認できました!
お力添えありがとうございます

7867 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free