• ベストアンサー

【Excel】チェックボックスの応用

お世話になります。 Excelのチェックボックスに「チェック」を入れると、特定のセルの色を変化させる事はできるのでしょうか? また、例えば、3つのチェックボックスにチェックを入れるとセルの色が変化するというような事はできますでしょうか? 上記、もし可能であれば「手順」をご教授頂けませんでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.2

まず最初にチェックボックスを配置してすぐの状態(チェックボックスを移動とか出来る)でチェックボックスを右クリックして、「コードの表示」を選択します。 するとVisualBasicという画面が出てきます。 この画面で以下のコードを記述してください。 'チェックボックス1がクリックされた時の処理 Private Sub CheckBox1_Click() Call check 'チェック関数呼び出し End Sub 'チェックボックス2がクリックされた時の処理 Private Sub CheckBox2_Click() Call check 'チェック関数呼び出し End Sub 'チェックボックス3がクリックされた時の処理 Private Sub CheckBox3_Click() Call check 'チェック関数呼び出し End Sub 'チェック関数 Private Sub check() If CheckBox1.Value And CheckBox2.Value And CheckBox3.Value Then     '全てのチェックボックスがチェックされていたら     '背景色変更     'Cells()の中は行番号、列番号です     '最後の3は色番号です。お好きな色に Cells(1, 1).Interior.ColorIndex = 3 Else     'それ以外の時は背景なしにする Cells(1, 1).Interior.ColorIndex = 0 End If End Sub

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

条件付き書式を使うことになると思いますが、条件は「セル」!の値やセルの値を扱う「関数」を条件に用います。 ですからチェックボックスはシートのセルとは「別物」(別オブジェクト)なので、チェックボックスの状態や値を直接の対象にして、条件付き書式を使えません。 VBAならチェックボックスの値を判別できますし、書式(セルの色)を自由にすることができます。 しかしVBAでなくても、チェックボックスの値をセルに反映させる「リンクドセル(LinkedCell)」プロパティが、操作で設定できますので、それを設定した「セルの値」を、条件付書式の「値が」に使うことができます。 >3つのチェックボックスにチェックを入れるとセルの色が変化するというような は表現があいまいです。 (A)Aセル、Bセル、Cセルの3つのセルが、8種類あるパターンのうちの1つを満たすと、条件成就とするのか (B)Aセルがある状態ならX色、 Bセルがある状態ならY色 Cセルがある状態ならZ色 にするのでしょうか。どちらにもとれると思います。 コンピュタに関しては、表現に注意しましょう。プログラム作成者に誤解されてプログラムが組まれ、大問題になる恐ろしい例があります。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.4

こんばんわ 結論から言うとできますよ。マクロを使う方法は他の方にお任せして、それ以外の方法をお示しします。 前提:チェックボックスが、「フォーム」ツールの「チェックボックス」であること。 手順: 1.チェックボックスを右クリックして、「コントロールの書式設定」を選択。 2.「コントロール」タブの「リンクするセル」に値が変わってもいい任意のセルを選択。このときチェックボックスが複数あるなら、それぞれ別のセルを選択。 3.2で選んだのとさらに別の任意のセルに適当な計算式を入れる。 4.色を変えたいセルに「条件付書式」を設定。左側のボックスは「数式が」を選び、右側のボックスには3で選んだセルを参照する数式を入れ、書式ボタンを押し、書式を設定。 多分3以降は何言ってるかわからないと思うので、 具体例: 1.チェックボックスが3つあって、それぞれ「リンクするセル」をA1,A2,A3にしたとします(上記1,2の作業) 2.A4(どこでもいい)に「=AND(A1,A2,A3)」を入力(上記手順の3) 3.A5(色を変えたいセル)を選択して、「書式」-「条件付き書式」を選択。 4.出てきたダイアログの左のボックスは「数式が」を選択。 5.右のボックスに「=A4=true」を入力(わかっていると思いますが鍵かっこは入力しない)。この時点ではまだ「OK」は押さないこと。なおここは「=A4」だけでも可だが、わかりやすくするため上記の表記としてます。 6.「書式」ボタンを押すとさらにダイアログが出てくるので、「パターン」タブを選択して、色を選択。 以上で、チェックボックスを3つともチェックするとA5セルの色が変わり、ひとつでもはずすと元に戻るようになります。なお、条件付き書式の条件は3つまで設定できるので、チェックパターンによって4種類(3種類とそれ以外で1つ)の色をつけることが可能です。 これは応用が利きますよ。セルの色じゃなくて文字の色やフォントも変えられるし、アイデア次第でいろんなことができます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 ちょっとお話が見えませんね。 >3つのチェックボックスにチェックを入れるとセルの色が変化するというような事はできますでしょうか? それは出来ますが、3つのチェックボックスをどのようにお使いになるのでしょうか? オプションボタンでしたら、3つあっても、1つを選ぶしかありません。チェックボックスは、3つあれば、3つともチェックが付きます。その時、そのチェックをどう考えたらよいのでしょうか? もう1つは、そのチェックボックスなどのコントロールは、コントロールツールなのですか?フォームツールのフォームなのですか?

  • n-akina
  • ベストアンサー率31% (75/238)
回答No.1

こんにちは。  チェックボックスを右クリックして出てくるメニューの「コードを表示」で出てくるサブルーチン文の中に必要なプログラムを書き込めば、「チェックボックスをクリックしたとき」に動作させることは可能です。  プログラムの書き方は。。。VBAを勉強してください。 では。

関連するQ&A

  • エクセル チェックボックス

    エクセルで複数の特定セルのどれかにOKの文字が入力されると、 チェックボックスに自動でチェックが入るようにできますか? (A1のセルかB1のセルかC1のセルにOKが表示されると チェックボックスにチェックが自動で入る。) よろしくお願いいたします。

  • EXCEL2010のチェックボックスについて

    EXCELにて2つ以上のチェックボックスを作成した時、 その中から1つのチェックボックスのみしか選択できないよう チェックをかけることは可能でしょうか? 使用しているバージョンは「EXCEL2010」 です。 よろしくお願い致します。

  • エクセルのチェックボックスについて

    エクセルのチェックボックスを使って左隣のセルをリンクさせたいのですが、そのチェックボックスをドラッグしただけではリンクの対象セルが固定されてしまいます。 ドラッグと同時にリンクの対象セルも自動で変化してくれる方法をご存知有りませんか? 一つずつ入力すればできるのですが、数がかなり多いので困っています。 よろしくお願いします。

  • (EXCEL)チェックボックス,TRUE⇔スピンボタン,MAX+色変化

    お世話になります。質問させていただきます。 表題件ですが、先ず説明しやすくするために、 シート1のA列複数行にチェックボックス、B列複数行にMAX100(%)のスピンボタンが縦に並んでいると仮定させていただきます。 例えば、 (1)A4のチェックボックスにチェックを入れるとB4のスピンボタンが連動して自動的にMAX値100(%)となり、さらにA4とB4のセルの色が赤くなる。 また (2)B4のスピンボタンをMAX値100(%)とすると、連動して自動的にA4のチェックボックスにチェックが入り、さらにA4とB4のセルの色が赤くなる。 上記のようにするにはいかがするのでしょうか? 以下にイメージを記載します。 (コンマは、セル区切りを意味します。) A,B, checkbox(未check),70% →色変化なし checkbox(check入れた),100%(に自動変化) →A2B2が赤く  checkbox(自動的にcheck),100%(に設定) →A3B3が赤く  関数やVBAにお詳しい方がおられましたら、何卒アドバイスを頂戴したく存じます。 *なお、スピンボタンはフォーム、コントロールツールボックス、 どちらが適しているのか、恥ずかしながら、存じませんので、 そちらもアドバイスいただけましたら、大変に光栄に存じます。 よろしくお願い申し上げます。

  • エクセルのチェックボックス

    エクセルのチェックボックスを何個か並べておき、 そのうちの1つにチェックを入れたら、別のチェックボックスにはチェックが入らない様にしたいのですが、どの様にしたらよいのでしょうか。(1つしか選べない様にしたいのです) また、あるチェックボックスにチェックをしたら、自動的に 近くにあるセルに斜線が入る様にすることは、可能でしょうか。 以上、2つよろしくお願い致します。

  • エクセルのチェックボックスの利用

    エクセルにチェックボックスをつくり、そこにチェックをいれたら、隣のセルに 特定の文字列が出るような設定をしたいのですが、教えていただけますか。よろしくお願いします。

  • エクセルのチェックボックスについて

    エクセルのバージョンは2002です。 左側に数値の入力されているセルにチェックボックスを入れたいのですが、 いちいちチェックボックスを呼び出してコピー → Ctlr+V連打 → チェックボックスを選択して整列 という手順が大変煩雑です。 うまい具合に、選択したセルに綺麗にボックスを並べる方法はないでしょうか? (入力規則からレ点を選択するという手段もありますが、二回クリックが必要なのと、チェックボックスを 使ってみたいという理由で保留してます。)

  • EXCEL:セルのチェックボックス

    マウスでセルをつかんで自動計算、貼り付けさせたいのですが、チェックボックス自体が出てこないので移動が出来ません。 通常、1月、2月と入力し、マウスでその2つのセルをつかむと、右下に■のチェックボックスが出てきてそれをつかんで移動すると、3月、4月、5月と自動で計算、張り付いていきます。 しかし、マウスでセルをつかんでもその■のチェックボックス自体が出てきません。 何が原因でしょうか。どなたかお教えください。 宜しくお願い致します。

  • チェックボックスの作り方

    エクセルで、申込書を作成しています。 一つのセルの中に、例えば、 ------------------- □青 □赤 □黄色 □緑 □黒 ------------------- のような感じで、チェックボックスを作り、 一つだけ選択可能にしたいのですが、 ヘルプを読んでもさっぱり作り方がわかりません。 どなたか、懇切丁寧に教えてくださいませんでしょうか? よろしくお願いいたします。

  • チェックボックスについて

    こんばんは。いつもお世話になっておりますが、こちら(JavaScript)では、初めての投函です。 よくヤフーやホットメールなどのwebmailの受信ボックスなどに、削除するためのチェックボックスが備わっておりますが、全てのチェックを入れるために、最初の一行目のチェックボックスにチェックを入れることで全てにチェック。チェックを外す事で全てを外す。という動作が行われていると思います。 私、PHPの方ではよく質問させていただく事もあり、お恥ずかしいながら、上記質問をPHPで・・と思っていたら、これら動作はJavaScriptであることをお教え頂きました。 これまでJavaScriptには無縁であったこともあり、色々なサイトにお邪魔しているものの、設定ボタン、解除ボタンによる設定・解除の説明はあるものの、チェックボックスによる、これらの動作の説明がなく、改めてこちらにて質問させて頂くに至りました。 色々と試してはいるものの、チェックボックスにチェックを入れると全てにチェックが入るが、解除するまでに至っておりません。 お忙しい中恐縮ですが、ご指導のほど宜しくお願い申し上げます。

専門家に質問してみよう