[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ラジオボタンでの条件分岐(複数条件)』(ねこ)
Excel2010の開発タブの挿入>フォームコントロールでラジオボタンを置いています。
・1つ目のラジオボタン(グループ)が「ツアー」か「フリー」を選択します ・2つ目のラジオボタン(グループ)は「午前」か「午後」か「終日」 ・3つ目のラジオボタン(グループ)は「食事なし」「ホテル」「レストラン」
「フリー」かつ「午前」を選択した場合、3つ目では「ホテル」か「レストラン」 からしか選択できない(「食事なしは選択できない」)
以上のことを実行したいのですが、可能かどうかご教授いただけますでしょうか?
できないことはないけど、ActiveXのOptionButtonのほうがChangeイベントが使えて、柔軟なコードになると思うけど? どうしてもフォームツールでやりたい?
(ぶらっと)
コメントしたように自分ならActiveXでやるけど、フォームツールなら。 (もっと、スマートな処理方法もあるかもしれないけど)
1つめのグループと2つめのグループの【すべてのラジオボタン】に以下をマクロ登録。 (ラジオボタンの名前は実際の名前に変更してね)
Sub test() Dim op1 As Long Dim op2 As Long
op1 = ActiveSheet.OptionButtons("Option Button 3").Value 'フリー op2 = ActiveSheet.OptionButtons("Option Button 5").Value '午前 With ActiveSheet.OptionButtons("Option Button 9") '食事無し If op1 = xlOn And op2 = xlOn Then .Visible = False .Value = xlOff Else .Visible = True End If End With End Sub
(ぶらっと)
コメントありがとうございます! すでに存在しているExcelがフォームツールで作成してあったので、フォームツールでと お願いしましたが、今後のことも考え、AxtiveXのOptionButtonで作成しなおしました。 お手数ですが、そちらのやり方を教えていただいてもよろしいでしょうか?
(ねこ)
じゃぁ、 グループ1が OptionButton1(ツァー)、OptionButton2(フリー) グループ2が OptionButton3(午前)、OptionButton4(午後)、OptionButton5(終日) グループ3が OptionButton6(食事無し)、OptionButton7(ホテル)、optionButton8(レストラン) だとして。(おのおののグループ化の方法はわかるね?)
シートモジュールに。 (なお、アップ済みのフォームツール相手のコードでは、選択不可の時に非表示にしていたけど ActiveXコントロールは、色合いを薄くして選択できないように設定できるので、そちらにしている)
Private Sub OptionButton2_Change() 'フリー Call 食事可否 End Sub
Private Sub OptionButton3_Change() '午前 Call 食事可否 End Sub
Private Function 食事可否() With OptionButton6 '食事無し If OptionButton2.Value And OptionButton3.Value Then .Enabled = False .Value = False Else .Enabled = True End If End With End Function
(ぶらっと)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.