こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

お世話になります。

Excelのチェックボックスに「チェック」を入れると、特定のセルの色を変化させる事はできるのでしょうか?

また、例えば、3つのチェックボックスにチェックを入れるとセルの色が変化するというような事はできますでしょうか?

上記、もし可能であれば「手順」をご教授頂けませんでしょうか?

宜しくお願い致します。

投稿日時 - 2005-11-02 16:22:23

QNo.1752251

すぐに回答ほしいです

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

まず最初にチェックボックスを配置してすぐの状態(チェックボックスを移動とか出来る)でチェックボックスを右クリックして、「コードの表示」を選択します。
すると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

投稿日時 - 2005-11-02 16:36:32

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

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

投稿日時 - 2005-11-02 21:35:58

ANo.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つ)の色をつけることが可能です。

これは応用が利きますよ。セルの色じゃなくて文字の色やフォントも変えられるし、アイデア次第でいろんなことができます。

投稿日時 - 2005-11-02 20:50:48

ANo.3

こんばんは。

ちょっとお話が見えませんね。

>3つのチェックボックスにチェックを入れるとセルの色が変化するというような事はできますでしょうか?

それは出来ますが、3つのチェックボックスをどのようにお使いになるのでしょうか?
オプションボタンでしたら、3つあっても、1つを選ぶしかありません。チェックボックスは、3つあれば、3つともチェックが付きます。その時、そのチェックをどう考えたらよいのでしょうか?

もう1つは、そのチェックボックスなどのコントロールは、コントロールツールなのですか?フォームツールのフォームなのですか?

投稿日時 - 2005-11-02 19:28:02

ANo.1

こんにちは。

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

では。

投稿日時 - 2005-11-02 16:33:57

あなたにオススメの質問