• 締切済み

Excelのセルに指定した色をつけたい

データセル縦20×横31の表が2つ、上下に並んでいます。 一方の表(A)のセルに3~20までの数字を入力すると、もう一方の表(B)の、場所が対応したセルに、Aの番号をカラーパレットの番号とした色をつけたいのです。 縦は氏名、横は日付で、グループ編成の色付スケジュール表を作るのが目的です。 自動更新、または、Aに数字を入力後F9による手動更新、いずれかの方法によるVBAを考えています。 VBA初心者のため、手がかりを教えていただきたいと思います。宜しくお願いします。

みんなの回答

  • yokomaya
  • ベストアンサー率40% (147/366)
回答No.1

あくまでも手がかりということで。宜しくお願いします。 まず目的はセルに色をつけるということですので、マクロの記録を開始して、B表の任意のセルにセルの書式設定→パターンで色付けします。これで記録されたマクロはセル選択の部分と、色付けの部分でこれは後に使います。 次に入力を契機に走らせるVBAはワークシートのChangeイベントを使います。具体的にはVBEを開いてプロジェクトエクスプローラの当該シートをWクリックするとシートのイベントの窓が開くので左上の小窓の(General)という所をWorksheetに切り替え、右上の小窓でChangeを選びます。これで表示される Sub Worksheet_Change が、このシートに入力される都度呼び出されます。Targetは入力されたセルです。 で、この中にまず Target.Rowと Target.ColumnがA表の中であるかどうかを判定するIF文を設けます。 範囲内なら先ほど記録したもののうちセル選択をTarget.Offset()を使い必要なだけ(A表からB表の位置の差)ずらせたセルを選び、色付けにはTarget.Valueを使うという形になるかと。

ThinkingPad
質問者

お礼

yokoyamaさん、 ご回答有難うございました。 実は、自分で難しく考えすぎていて、コロンブスの卵のような方法で解決できました。 (1)テーブル処理で、A表からB表に色をつけるマクロを作成する。 Cells(m, n).Offset(x, 0).Interior.ColorIndex = ・・・ を使いました。 (2)表に、フォームツールバーからコマンドボタンを作成する。 (3)コマンドボタンに、(1)のマクロを登録する。 後は、コマンドボタンをクリックすることで、無事にB表に色を付けることができました。 大変勉強になりました。 改めて御礼申し上げます。

関連するQ&A

  • ExcelVBAで複数範囲した色セルと、条件で別セルも同色になるようにしたい

    ▼Excel2003を利用でSheet1とSheet2を使っての質問です▼ 下記に簡単に事例を記載いたします。(※実際にはデータが沢山あります) ★Sheet1にはA1~G3範囲横7列縦3行の表があり、表中にはA1、B1、C1、D1が空白でその次からは1~17までの数字が横列に沿って順次入っています。G3セルが最後の数字の17となっています。 横7列に入っている数字はA1、A2、A3、A4空白のセル以外は列毎にセル背景色が異なり全部で7色入っています。 ★次にSheet2に新たにA1~D4範囲内に表を作り、順次セルに数字値を入力し、例えばSheet2のA1セルが1だったら、そのSheet2のA1セル背景色をSheet1の表中の1が入力されているセルと同じ背景色にしたいです。 以上の課題をExcelVBAを使って解決したいのですがご存じの方いらっしゃいましたらVBAでどうプログラミング表現すれば良いか教えていただければ幸いです。 ちなみに私自身はExcelVBAを一度も使ったことがなく初心者です。 恐縮ながらもよろしくお願い申し上げます。

  • 指定した番号のセルの色を変えたい

    A列に1~30までの数字が並んでいます。 B1に開始番号、C1に終了番号を入力すると その区間のA列のセルの色が変わるようにしたいです。 条件付き書式でどうにかしたいのですが 数式がわかりません。 どなたかおわかりになりましたら、教えてください。 エクセル2007です。

  • エクセル セルの移動

    エクセル入門者です。 横AからM、縦1から20の表を作り、その中に数字を入力していきます。 ただ、A1から入力してM1まで横に入力して、次にA2からM2と入力する際、 セルはtabでMのとなりNに進んでしまうので、そこを自動でA2移動するには、どのように設定すれば良いのでしょうか。 文章にしてしまうと、ややこしくなって、すみません。 そのため、検索がしづらいのです。 上記説明でご理解ある方、お願いします!

  • エクセルのセル番号について

    先日会社のPCで表を作ろうと思い、エクセルを立ち上げた所、セルの番号を表す(名前忘れました…。)縦は確か数字。横はアルファベットが並んでるバーありますよね? シートの一番上と左にあるやつですー。あれが両方とも数字になっちゃってて、関数の式を入力するときに大変やりにくいんです。どのようにすれば初期設定に戻るでしょうか?質問の意味が分からなかったら補足いたします。 よろしくお願いします。

  • エクセル セル内の合計値に応じてセルの色を変えたい

         A      B        1    2    りんご2 2    4    りんご1,メロン3 3    3    メロン1,みかん1 上記のように,A列セルには数字が入っていて,B列セルには文字列と数字が入っています。 A1セルの値と,B1の文字列に含まれている数字は合致しているので,セルの色はそのままです。A2セルの値とB2の文字列に含まれている数字の合計が合致しているので,ここもセルの色はそのままです。しかし,A3セルとB3の文字列に含まれている数字の合計は合致していないので,B3セルに色を付けたいのです。 B列のセルは,1つのセル内に文字列と数字を入力することを前提に考えていますが,こうしたことは可能でしょうか?可能であれば教えていただけたら幸いです。

  • 数値によって指定したセルの色を変えたい。

    質問させて頂きます。 EXCELで表を作成します。 入力する数値によって指定したセルの色を変えたいのですが・・・。 具体的にはA2に数値を入力します。 入力する数値は1または2のみですが入力する数値によって A1~D4の4個のセルが1ならば赤、2ならば青と言う風に 色を変える事が出来ますか? 宜しくお願い致します。

  • Excelでセルに入力した数字に対応した色(書式)を自動的につけたいにですが。

    はじめまして、よろしくおねがいします。 Excelの初心者です。 Exselで表を作成しているのですが、表題の通り セルに入力した数字に対応した色(書式の塗りつぶし)をしたのですが、方法がわかりません。 例えば、 1を入力したらそのセルを水色に、 2を入力したらそのセルを緑色に、 などというように1から7までに対応させたいのです。 どなたかわかる方教えて頂けないでしょうか。 よろしくお願いします。 ちなみに関数は多少使えますが、 マクロ(VBA)はまったく使ったことがありません。

  • エクセルで指定のセルへ簡単にジャンプできる方法

    教えてください。 エクセルの表入力で、あるセル(たとえばA1)に1の数字が入っていたとして その数字(若しくは文字)で次に入力するセルがたとえばA12のセルとした場合 あるセル(たとえばA2)へカーソルを持っていくと(又はクリックしたとき) 指定のA12へカーソルがジャンプするような方法がないでしょうか? (又はA2へ1を入力したらA12へジャンプする方法でもいいのですが) ハイパーリンクで実際出来たのですが、セル数が多くてそれぞれちがった ジャンプ先を指定する場合、コピー貼付けをすると1個1個ジャンプ先を 修正しなければならないと言った手間がかかりました。簡単に 指定セルへジャンプさせる方法、関数のようにコピーした場合セル番号が 変更され修正しなくてもいいような方法がないでしょうか?

  • エクセルで色を着けたセルがある表の

    エクセルで色を着けたセルがある表の横一列全部のみを残す方法はありますか。うまく言えませんが、例えばA2、C3、E5、G7、I9のセルが色が着いているとします。1の横一列、4の横一列、6の横一列、8の横一列が削除され、2の横一列、3の横一列、5の横一列、7の横一列、9の横一列のみが残るようにしたいのです。色のついたセルだけを残したいのではありません。色のついたセルがある横一列全部を残したいのです。教えてください。

  • Excelの入力について

    おはようございます。 さて、Excelのセルへの入力について質問です。 たとえば、  A   B 1なまえ 色つきセル 2年齢  色つきセル このような表があったとします。 そこで、B1、B2のセルに文字や数字を入力すると今まで付いていた色が消えるようにするには、どのようにすればいいのでしょうか。 なお、VBAは使わないでやりたいです。 以上、よろしくお願いします。