[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『トグルボタンでの排他制御につきまして』(ノート青)
OS:XP エクセル2003 お世話になっております。 表題見られた方は、『「オプションボタン使え!」以上』 と思われるかたが、大多数と思いますが、なにとぞ、お知恵を お借りできないでしょうか?
下記の通り、トグル1をクリックされたら、トグル2,3を 元に戻す(False)と書きました。 順番に、トグル1⇒トグル2⇒トグル3と押していくと思い通りに 動きますが、変則(例:トグル3⇒トグル2)など押すと期待通りの 動きになりません。
Private Sub ToggleButton1_Click() ToggleButton1.Value = True ToggleButton2.Value = False ToggleButton3.Value = False End Sub
Private Sub ToggleButton2_Click() ToggleButton1.Value = False ToggleButton2.Value = True ToggleButton3.Value = False
End Sub
Private Sub ToggleButton3_Click()
ToggleButton1.Value = False ToggleButton2.Value = False ToggleButton3.Value = True
End Sub
トグルにこだわる理由は、不特定多数の年配者でも 直感的にわかるようにボタンを押すイメージでと、 考えています。 画面を、全部、同じボタン形式に統一したいという 思惑があります。
ご提示のコードでは、ボタンをクリックしたら クリックしたボタンが押し込まれた状態になるように なっています。
ではなくて、 ボタンがTrueだったらFalseに FalseだったらTrueに という考えで作ってみてください。 (MARBIN)
MARIBIN様へ お忙しい中、早速のご教授ありがとうございました。 書き直して、結果のご報告をいたします。 (ノート 青)
お世話になっております。 記載しなおしましたが、現象変わらずでした。 基本的な知識がないので、誤った記載をしているのだと思います。
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = False Then ToggleButton1.Value = True End If If ToggleButton2.Value = True Then ToggleButton2.Value = False End If If ToggleButton3.Value = True Then ToggleButton3.Value = False End If End Sub
Private Sub ToggleButton2_Click() If ToggleButton1.Value = True Then ToggleButton1.Value = False End If If ToggleButton2.Value = False Then ToggleButton2.Value = True End If If ToggleButton3.Value = True Then ToggleButton3.Value = False End If
End Sub
Private Sub ToggleButton3_Click() If ToggleButton1.Value = True Then ToggleButton1.Value = False End If If ToggleButton2.Value = True Then ToggleButton2.Value = False End If If ToggleButton3.Value = False Then ToggleButton3.Value = True End If End Sub
自分でも調べてみますが、もし、お時間があるときにでもご教授いただけると 助かります。 よろしくお願いいたします。
こんなかんじでいけるとおもいます。
Private Sub ToggleButton1_Click() If ToggleButton1.Value = False Then ToggleButton1.Value = True ToggleButton2.Value = False ToggleButton3.Value = False Else ToggleButton1.Value = False End If End Sub Private Sub ToggleButton2_Click() If ToggleButton2.Value = False Then ToggleButton2.Value = True ToggleButton1.Value = False ToggleButton3.Value = False Else ToggleButton2.Value = False End If End Sub Private Sub ToggleButton3_Click() If ToggleButton3.Value = False Then ToggleButton3.Value = True ToggleButton1.Value = False ToggleButton2.Value = False Else ToggleButton3.Value = False End If End Sub (MARBIN)
ToggleButton1_Clickイベントで、ToggleButton2.Value = False のように 記述すると、そこで ToggleButton2_Clickイベント が発生してしまうので うまくいかないのではないかと思います。Value が False の時は 何もしないようにしたらうまくいきました。 (純丸)(o^-')b Private Sub ToggleButton1_Click() If ToggleButton1.Value = False Then Exit Sub ToggleButton2.Value = False ToggleButton3.Value = False End Sub
Private Sub ToggleButton2_Click() If ToggleButton2.Value = False Then Exit Sub ToggleButton1.Value = False ToggleButton3.Value = False End Sub
Private Sub ToggleButton3_Click() If ToggleButton3.Value = False Then Exit Sub ToggleButton1.Value = False ToggleButton2.Value = False End Sub
MARBIN様 純丸 様
ご教授ありがとうございました。 両方とも、動作確認できました。 なるほど、・・・value=faleseだと、クリックイベントが 発生していたんですね。 とても、勉強になりました。 お忙しい中、ご教授いただきありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.