掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
チェックボックスについて (ID:118209)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
よく考えてみましたら、当たり前のことを見逃していましたので、追記。 2つのチェックボックスがあって、①をチェックして、 処理中に②をチェックした場合の動きを書きますと、 (コードはねろさんのを参考にしています) 1.①のClickイベントが走り、フラグがTrueになる 2.処理中に②のチェックボックスをクリック(画面上は変化なし) 3.①の処理が終わり、自身のチェックを外す(Value = vbUnchecked) 4.①のClickイベントが再度走る。但し、フラグチェックで抜ける。 5.①のフラグクリアが走り、Clickイベントを抜ける。 6.OSに制御が戻り、キューに溜まっていた②のチェックが行われ、②のClickイベントが走る。 7.5でフラグが既にクリアされているので、フラグチェックを抜ける。 8.②の処理が走ってしまう。 つまり、処理にDoEventsが入っていないため、キューに溜まったほかのチェックボックスの チェックメッセージが①の処理が終わるまで実行されないのが そもそもの原因ですので、上記の5の前でキューに溜まったメッセージを 処理させてやれば解決するはずです。 つまり、ねろさんのコードにつけたしで、 chk_box(Index).Value = vbUnchecked DoEvents ' ←追加 flg = False End Sub とやれば、うまくいくと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.