• ベストアンサー

チェックボックスにチェックをいれることでセルに色をつけたい(エクセル)

deecyanの回答

  • ベストアンサー
  • deecyan
  • ベストアンサー率38% (89/233)
回答No.3

まず グループボックス内で どれか1つを 選ばれたことにするので 消してはいけません  >可視状態だといけないので それでは 不可視にしましょう。 Sub del_line() Selection.Visible = False End Sub このマクロを使うと 不可視になります。 VBAの画面で 挿入→標準モジュール として 貼り付けてください 不可視にしたいグループを選んで(選択状態で) ツールマクロ→マクロとして del_line としてください なお不可視にすると 可視状態にするのはめんどうなので(だって選択できないんだもん) 最後の最後にやって保存してからにしてくださいね。 さて次はマクロです。 (チェックボックスはめんどうなので使わずダブルクリックをつかいます) A2からA21に設問を入れるとして  B2に 実施 と文字をいれて 条件付書式をいれます。 数式が =E2=1 として 書式を青にします B21までコピーします C2に 不十分 と文字をいれて 条件付書式をいれます。 数式が =E2=2 として 書式を黄にします C21まで コピーします D2に 未実施 と文字をいれて 条件付書式をいれます。 数式が =E2=3 として 書式を赤にします D21まで コピーします E列は 文字の色を白にしておくか 列幅の幅を細くしてください。 後は B22に =COUNTIF(E2:E21,1) といれます これが 実施を選んだ個数      C22に =COUNTIF(E2:E21,2) といれます これが 不十分を選んだ個数   同様に D22に =COUNTIF(E2:E21,3) といれます これが 未実施を選んだ個数 あとは対象のシートの Worksheet_BeforeDoubleClick イベントをかくところに 下記をはりつけてください。 If ActiveCell.Row > 1 And ActiveCell.Row < 22 Then ' 2行目から 21行目か? If ActiveCell.Column = 2 Then ' B列か? Cells(ActiveCell.Row, 5) = 1 ElseIf ActiveCell.Column = 3 Then ' C列か? Cells(ActiveCell.Row, 5) = 2 ElseIf ActiveCell.Column = 4 Then ' D列か? Cells(ActiveCell.Row, 5) = 3 Else ' それ以外か? Cells(ActiveCell.Row, 5) = 0 End If Cancel = True End If 以上でおわりです 実施 不十分 未実施を ダブルクリックすると 色がかわります 他のところをダブルクリックすると 消えます

shu2320
質問者

お礼

おはようございます。グループボックスを不可視にすることが できました。いろんなことに応用できそうです。 マクロは便利と改めて思いますし、勉強しなきゃと痛感しています。 本当にありがとうございました。

関連するQ&A

  • Excelマクロであるセル条件を検出、他の決められたセルに色を付けたい

    Excelマクロであるセル条件を検出、他の決められたセルに色を付けたい その2 例えば、エクセルのあるセルに"A"が書かれていた場合、次にその列のセルに"A"書かれているまでは、続く列のセルには色をつけるようにしたいのですが、良い方法を教えて頂けないでしょうか? 対象となるシート(列方向)に、今回のパターンが複数存在し、 それぞれにこの処理を実施することを想定しております。 (イメージ画像を添付します)

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

    EXCEL2003を使用しています。 ■質問項目があり、回答する複数のセルにチェックボックスを配置してあります。 A列:質問 B列:回答のチェックボックス C列:回答のチェックボックス D列:回答のチェックボックス : Z列:OK 又は NGと表記したい。 ■各列の回答チェックボックスが全てonになっていたらOK、1つでもoffになっていたらNGと、Z列に表記させたいのですが、どのような式になりますか? ご回答の程、よろしくお願いいたします。

  • エクセル セルの色を数えたい

    いつもお世話になっております。 すみません、列にセルに色(黄色)がついています。 文字が入って、セルに色のがついています。 a1 a2 黄色 a3 a4 黄色 a6 式、黄色が2と表示する式を教えて下さい。

  • Excel 2007 マクロ セルの色のカウント

    Excel 2007 マクロ セルの色のカウント 表に複数の色がセルについています。 色がついているセルの隣の列に「1」を返したいです。 どのようなマクロになりますでしょうか。 色がついている列は1行でC列になります。 ご回答よろしくお願いします。

  • Excelマクロである条件のセル間(行方向)に色を付けたい

    Excelマクロである条件のセル間(行方向)に色を付けたい 例えば、エクセルのあるセルに"A"が書かれていた場合、次にその行のセルに"円"と書かれているまでは、続く行のセルには色をつけるようにしたいのですが、良い方法を教えて頂けないでしょうか? 対象となるシート(列方向)に、今回のパターンが複数存在し、 それぞれにこの処理を実施することを想定しております。 (イメージ画像を添付します) お恥ずかしい話、当方VBAには明るくありませんので、簡単なサンプルコードを示して頂けると幸いです。

  • マクロ セルの値に応じてセルに色を付ける

    マクロを利用して、セルの値に応じてセルに色を付ける方法について教えて下さい。 A列の値がA~Dの場合、A列~最終列のセルをそれぞれの色で塗りつぶしたいと思っております。 アドバイスの程、よろしくお願い致します。

  • チェックボックスと条件付書式について

    書籍を見ながらスケジュール表を作成しています。 A列に月日、B列にチェックボックス、C列にスケジュール記入欄、D列にコメント欄を設けました。 チェックボックスのコントロールの書式設定はE列にしました。 C2のセルに次の3つの条件付書式を設定しました。 1.チェックボックスにレ点が入ると文字の色が灰色になる。 2.月日が当日になると、シートの色が黄色くなり文字の色が赤くなる。 3.月日が当日より後の場合は、文字の色は青くなる。 ここから質問です。 1.条件付書式を下のセルにコピーすると、チェックボックスのコントロールの書式設定が、全て1番最初にコントロールの書式設定したセル番号になる。 2.当日以降のチェックボックスにレ点(TRUE)を入れると、セルに黄色の背景色がつく。 質問の1・2がどうしてなるのか、また、これを是正する方策をご指導願います。

  • Excel2010 セル色の変更について

    エクセルの条件付き書式で表の色付けをしていますが 参照先のセルをデリートした時に書式の色が消えなくて困っています 表の構成としては項目(B・C列)は2行で 本日の日付をC3セルに「 =today() 」で表示させ 6行目にあるA・B・C・Dのアルファベットは その項目に対してしなければいけない予定の事象を書き 各項目のD・E・F・G列には 項目内上列に予定事象の期限を自動入力(関数入力済)し 項目内下列は事象実施日を手動で入力するようにしてあります 事象予定日の日付がC3セルと同じ日(当日)になれば事象予定日のセルを赤塗 C3セルの前日であれば黄塗、3日前であれば緑塗で事象予定日のセルが表示され 事象実施日がC3の日付より1日以上前であれば事象実施日を灰塗で表示させています ここまでが現状で、ここからがうまくいきません やりたい事としては 実施日が入力されたら予定日のセルの色も実施日のセルと同様に灰塗にし 実施日が未入力状態であるときは予定日のセル色に対しての変更はかけたくないのですが 実施日に日付を入力をすると予定日のセルも灰色にはなるものの 一度入力された実施日のセルをデリートしても予定日のセルが灰塗のままで戻りません。 予定日のセルに設定した条件付き書式は ・「数式を使用して~」→「次の数式を~」に「=$○$8=""」 書式に白塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値に等しい」「=$C$3+3」書式緑塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値に等しい」「=$C$3+1」書式黄塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値以下」「=$C$3」書式赤塗 ・「数式を使用して~」→「次の数式を満たす場合に~」に「=$○$8<$C$3」→書式灰塗  ※○の中には相関列文字を入力 この一通りの設定を、項目の上行と下行に対して参照関係になるようにセル位置の指定は変更してあります (E列の数式にはEを、F列の数式にはFを という具合です) これ以上何かを設定しなければいけないのか、どこかの設定が間違っているのか、VBAじゃないとできないのか・・・ どなたかご教授願います。説明の過不足等ありましたらご指摘ください。

  • エクセルで、チェックボックスがオンになっているもののみ抽出したい

    こんにちは、とても困っているのでわかる方がいらっしゃいましたら教えてください>< A列にはチェックボックスが入っていて、 B列にリストがあるという形になっています。 A列のチェックボックスにチェックが入っているものだけを抽出する事は 出来ないでしょうか。 ネットで調べてみたら、同じような質問があったのですが、 どれもマクロを使えば出来るのでは?という回答だけで、 実際の方法が書かれていませんでした。 因みに、チェックボックスはセルにリンクさせていない状態です。 よろしくおねがいします!!!

  • エクセルで自動にセルの色を変えたい

    エクセルを使った表示について質問です。 セルの中にある締切の日付が記入されており、今日の日付からその締切までの日数が、たとえば10日以上であれば青、5日から10日の間であれば黄色、5日を切ったら赤というように、そのセルの色が自動で変わるようにしたいのですが、マクロを使う以外には方法はありませんでしょうか。