Excel VBA質問箱 IV

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

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


5265 / 13644 ツリー ←次へ | 前へ→

【51866】チェックボックスのチェックと動作について Michi 07/10/8(月) 19:49 質問[未読]
【51869】Re:チェックボックスのチェックと動作につ... kobasan 07/10/8(月) 21:08 発言[未読]
【51874】Re:チェックボックスのチェックと動作につ... Michi 07/10/9(火) 8:06 お礼[未読]

【51866】チェックボックスのチェックと動作につい...
質問  Michi  - 07/10/8(月) 19:49 -

引用なし
パスワード
   今晩は。
フォームのチェックボックの使い方として
動作実行後にチェックをはずすことをしたく
以下のコードを書きましたが、何故か同じ動作が2回動きます。
動作を1回にする方法を色々と考えましたが下の3通りとも
同じ結果です。
チェックボックスのチェックがはずせ、尚且つ動作が1回で終わらせる方法を
アドバイスお願いします。

Private Sub CheckBox1_Click()
  Application.EnableEvents = False
   Run "testA"
   Controls("CheckBox1").Value = False
  Application.EnableEvents = True
End Sub
Private Sub CheckBox2_Click()
   Run "testB"
   Controls("CheckBox2").Value = False
   Exit Sub
End Sub

Private Sub CheckBox3_Click()
   Call testC
   Controls("CheckBox3").Value = False
End Sub

【51869】Re:チェックボックスのチェックと動作に...
発言  kobasan  - 07/10/8(月) 21:08 -

引用なし
パスワード
   今晩は。

>フォームのチェックボックの使い方として
>動作実行後にチェックをはずすことをしたく
>以下のコードを書きましたが、何故か同じ動作が2回動きます。
>動作を1回にする方法を色々と考えましたが下の3通りとも
>同じ結果です。

>チェックボックスのチェックがはずせ、尚且つ動作が1回で終わらせる方法

Controls("CheckBox1").Value = Falseでイベントが発生するから、2回動きます。

対策として、以下でどうですか。

Private Sub CheckBox1_Click()
  If Controls("CheckBox1").Value = False Then Exit Sub
  MsgBox "1"
  Controls("CheckBox1").Value = False
End Sub

【51874】Re:チェックボックスのチェックと動作に...
お礼  Michi  - 07/10/9(火) 8:06 -

引用なし
パスワード
   ▼kobasan さん:

おはようございます。
ありがとうございました。
解決しました。今後ともよろしくお願いします。

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