- ベストアンサー
オプションボタンにチェックが入れば・・
いつもお世話になっております。 今回もご指導のほど宜しくお願い致します。 Excel2002を使っておりますが 例えば A1に フォームのオプションボタンを挿入し、ボタンにチェックが入れば B1に“c”と表示させるには どのような方法がありますでしょうか・・ 説明が悪いようでしたら ご指摘下さいませ。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォームのオプションボタンということであれば、いくつか方法はあります。 まず、オプションボタンをA1付近に配置して、当該オプションボタンを右クリック>コントロールの書式設定>コントロールタブを選択し、”リンクするセル”を適当に決めます。リンクするセルを"A1"にしたとすると、オプションボタンがオンのときにはセル"A1"に1と表示されるので、セル"B1"に =IF(A1=1,"c","") と入れておけば、オプションボタンがオンの時に"c"が表示されます。 また、VBAを使うこともできます。 該オプションボタンを右クリック>マクロの登録>新規作成として、VBエディタが立ち上がるので、 Sub オプション1_Click() If ActiveSheet.Shapes("Option Button 1"). _ ControlFormat.Value = 1 Then Range("B1").Value = "c" End If End Sub 同様の結果が得られます。ただし、オプションボタンを2個以上配置して、オフの時は"c"の表示を消すというような処理の場合はマクロがやや複雑になるので、そんな場合は「コントロールツールボックス」のオプションボタンを使ったほうがいいです。
その他の回答 (1)
- TTak
- ベストアンサー率52% (206/389)
> A1とB1の各セルにオプションボタンを配置し、 > A1のオプションボタンがオンになれば C1に“1”と表示し > B1のオプションボタンがオンになれば C1に“2”と表示したい ということなので、下記#1の方法で、オプションボタンをA1,B1にそれぞれ配置し、A1に配置したオプションボタンの”リンクするセル”を適当に決めます。 > A1、B1にはオプションボタンのみで数値は表示されないよう であれば、A1,B1以外のセルにリンクするようにして、(たとえばA2)そのセルのフォントの色を”白”にするか、セル(行)を非表示にして、見かけ上表示されないようにしておきます。リンクしたセルの値は、配置されたオプションボタンのon,offから自動的に、1,2を返しますので、C1のセルには、リンク付けしたセル(A2)への参照式を入れるとOKです。 コントロールツールボックスのオプションボタン2個を配置して、VBAで操作する場合は、それぞれのオプションボタンを、OptionButton1,OptionButton2とすると、クリックイベントを利用して、 Private Sub OptionButton1_Click() If OptionButton1.Value = True Then _ Range("C1").Value = 1 End Sub Private Sub OptionButton2_Click() If OptionButton2.Value = True Then _ Range("C1").Value = 2 End Sub ということになります。ちなみに、この方法の場合は、オプションボタンを右クリックして”コードの表示”を選択した時点で、 Private Sub OptionButton1_Click() End Sub というように、クリックイベントプロシージャが自動挿入されていますので、比較的楽にコーディングできます。
お礼
詳しくご説明頂きまして、ありがとうございます。 VBAに関しても勉強していきたいのですが 難しそうです・・ またそのうちVBAに関する質問がこちらで出来るぐらいになるといいのですけど。 ご回答ありがとうございました。 おかげさまで解決し、嬉しい限りです。 また何かありましたら お助け下さい。
お礼
早速ご回答頂きありがとうございます。 実は A1とB1の各セルにオプションボタンを配置し、A1のオプションボタンがオンになれば C1に“1”と表示し B1のオプションボタンがオンになれば C1に“2”と表示したいのです。 それからA1、B1にはオプションボタンのみで数値は表示されないよう設定したいのですが いかがなものでしょうか・・ VBAの知識はまったくございません・・ マクロは簡単なものだと使えると思います。 難しいでしょうか・・ どうか宜しくお願い致します。