• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで背景色)

VBAでセルの背景色を変更する方法は?

merlionXXの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

ao_さん、こんにちは。 対象シートのモジュールに以下をコピペしてみてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column < 3 Or Target.Column > 32 Then Exit Sub '3~32列を対象 l = Target.Row '入力行取得 x = 0 For Each r In Range("C" & l & ":AF" & l) '入力行各セルについて Select Case Left(r, 1) '先頭の1文字で判定 Case 1 '先頭の1文字が1の場合 c = 6: x = x + 1 '色番号6、カウントする Case 2 '先頭の1文字が2の場合 c = 4 '色番号4・・・以下略 Case 3 c = 34 Case 4 c = 3 Case Else 'その他の場合 c = 0 End Select r.Interior.ColorIndex = c 'セル背景色を色番号のものに変える Next '繰り返し x = IIf(x > 0, x, "") 'カウントが0なら無し Cells(l, "B") = x '入力行のBセルにカウントした数を代入 End Sub

ao_
質問者

補足

毎度ありがとうございます。 >対象シートのモジュールに以下をコピペしてみてください。 標準モジュールを作成し、コピーしてみましたが、反応がありません。 シートタブを右クリックして表示されるコードの表示にペーストするのでしょうか?

関連するQ&A

  • エクセルのVBAを使った条件付き書式

    VBAの初心者です。というか使ったことがありません。 4つ以上の条件付き書式はVBAが必要になるようなので困惑中です。 下記の条件付き書式をVBA作りたいと思っています。 「1」を含む値の場合セルの背景を黄色に 「2」を含む値の場合セルの背景を緑色に 「3」を含む値の場合セルの背景を水色に 「4」を含む値の場合セルの背景を赤色に 例) 1北海道 → セルの背景を黄色 2山形 → セルの背景を緑 これを実現するVBAのコードを教えてください。 また、そのコードをどこに貼付ければいいのでしょうか? まったくの初心者で申し訳ありません。

  • 【EXCEL2003】8つの条件がある書式設定のVBAの書き方

    VBAの書き方について御教授ください! 複数のシートに、入力値が決まっているA列とC列があります。 その入力値の組み合わせによって、入力時にA:Cのセル書式を以下のように8通りに変えたいです。 マクロの自動記録しか経験がなく調べたのですがよくわかりませんでした。 よろしくお願いいたします。 1.A列「あ」・C列なし→セル背景:黄 2.A列「あ」・C列「ア」→セル背景:黄 フォント:青 3.A列「あ」・C列「イ」→セル背景:黄 フォント:赤 4.A列「い」・C列なし→セル背景:緑 5.A列「い」・C列「ア」→セル背景:緑 フォント:青 6.A列「い」・C列「イ」→セル背景:緑 フォント:赤 7.A列なし・C列「ア」→フォント:青 セル背景:なし 8.A列なし・C列「イ」→フォント:赤 セル背景:なし

  • VBAについて

    VBAで、セル範囲 C9:E16について, 空白セルの場合は背景色を黄色にし、 値が負数なら文字色を赤色にし、いずれでもない場合は文字色は自動, 背景色は色なしにする方法を教えて下さい。

  • エクセル2003のVBAで困っています。

    エクセル2003のVBAで困っています。 D3~D50の中で○のセルが合った場合にその行のA列~C列までのセル背景を青く塗るようにしたいです。 ちなみに△の場合は黄色で×の場合は赤色でそれ以外の場合は塗色なしにしたいです。 上記の説明が分かにくいかもしれないので、もう少し具体例を言います。 D3~D50の中でD5が○だったらA5~C5の背景を青色 D10が△だったらA10~C10の背景を黄色 D15が×だったらA15~C15の背景を赤色 D20がそれ以外だったらA20~C20の背景を塗色なし を各行(D3~D50)になるようにしたいです。 以上ですが、急ぎですので誰かお願い致します。

  • EXCEL2003 重複データに色を付けるVBA

    A列のA2からA21に氏名、B列のB2からB21に住所が入力済です。A列で重複しているデータに色をつけて、さらに並び替えをしたいと思います。色は黄色、並び替えの設定は黄色で色を付けたセルがA2から順に表示するVBAを教えていただけませんでしょうか。またお手数でも列をB列、C列に変更した場合についても教えていただけませんでしょうか。VBAコードの貼り付けはできます。よろしくお願いします。

  • VBA教えて下さい

    VBA教えて下さい。 初心者です。 例えば A1セルに数値を入力して コマンドボタンを押すと B1~B20のセルに全てその数値が反映される その反映された数値は赤色にする これだけならば private sub commandbutton_click() range("B1:B20")=range("A1") range("B1:B20").font.color=vbred でいけますが 私がやりたいのは更に A1に数値を入力して コマンドボタンを押すと B1~B20のセルに全てその数値が反映される その反映された数値は赤色にする しかし、B1~B20のセルのどれかのセルが背景色黄色にした場合 黄色背景色より上のセルはA1に入力された数値は無視し 黄色背景色より下のセルはA1に入力された数値を反映する といった内容です。 どうしてもできません コードを書いてもらえるとすごく助かります。 回答お願いします。

  • EXCELで条件付書式を使いたいが

    またまた質問させていただきます。 条件付書式を使ってセルの色を変えようとしたのですが、条件が6条件有り出来ませんでした。 やりたいことは、C5~AJ54の範囲のセルに下記の文字が入ったとき、そのセルの色を変えたいのです。 入力  セル色 赤外---黄色 青外---黄色 赤中---緑色 青中---緑色 赤内---青色 青内---青色 といったことがしたいのです。 VBAを使ってセルを塗りつぶす例などを調べてやってみましたが、勉強不足で旨くいきませんでした。 どうか、宜しくお願いします。

  • VBAについて

    VBA初心者です。 ダブルクリックをしたセルの、右隣セル3つに入っている値を、A1・B1・C1に反映させるVBAを教えて下さい。 例/F1でダブルクリックをしたら、G1とH1とI1の値をA1とB1とC1に反映させる。 ※ダブルクリックをするセルF列のどれかで、反映させる先のセルはA1とB1とC1です。 初心者の為、質問内容が分かりにくいかもしれませんが、ご回答頂けると幸いです。

  • 空白セルと行に色をつけるVBA Excel2010

    VBAの超初心者です。 条件が一致した時に、セルの背景を黄色にしたいのですが、VBAで教えて下さいませんか? D1が空白セルの場合には、C1のみを黄色。 D1とB1の両方が空白の場合は、A1からC1を黄色にしたいのです。 尚、行はどんどん増えて行く予定です。 「条件付き書式」では考えておりません。 よろしくお願いします。

  • Excel VBA に関する質問

    ExcelのVBA初心者です。 同じ列にランダムに配置された黄色のセルの「数」をカウントするために以下のようなコードを見つけました。確かにこれで列内の黄色のセルをカウントできるのですが、カウントした後でその列内の黄色のセルの数を変える(黄色であったセルを違う色にしたり、新たに黄色のセルにしたり)と、その結果が反映されません。どのようにコードを書きなおせば、随時列内の黄色のセルの個数が変わるたびにちゃんとカウントできるのでしょうか? Function color6(a As Range) Dim c As Range, cu As Long Application.Volatile For Each c In a If c.Interior.ColorIndex = 6 Then cu = cu + 1 Next color6 = cu End Function でやっています。