• ベストアンサー

マクロでの色の塗りつぶしについて

A1のセルに○、A2のセルには○、A3のセルには×・・・といった行があるとします。 その中から○のセルを探し、その○のD列(A1が○ならD1)を色で塗りつぶしたい時 どのようなマクロにすればよいか教えてください。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.3

Sub Macro1() For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Range("A" & i) = "○" Then Range("D" & i).Interior.ColorIndex = 36 End If Next i End Sub 36(薄い黄)を変えれば色が変わりますので、好みの色に 変えて下さい。

ki0204
質問者

お礼

ありがとうございました

その他の回答 (3)

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

こんな課題は、ここにわざわざ質問を出すまでも無く、操作をしてマクロの記録を採ればコードがわかることだ。 やってみると Sub Macro3() Range("A1:A10").Select Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A1=""○""" Selection.FormatConditions(1).Interior.ColorIndex = 6 End Sub 場合によって変わるのは、 範囲= Range("A1:A10").Select 問題にする文字列=""○""" だろう。ここを適当に変えて対処すること。 操作は、範囲指定ー書式ー条件付書式ー数式がー数式で=a1="○"、書式を設定ーOK 質問に、条件付書式の言葉も出てないが、その存在を知らないのかな。 わざわざマクロでやる理由も書いてない。 マクロ・VBAはエクセルの操作を知らないで、勉強するものではない。 人間がエクセルで出来る操作を、コード実行で実現するものだから。

ki0204
質問者

お礼

ありがとうございました

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

マクロを使わなくても条件付き書式という機能があります。 1.D1:D5を選択 2.書式-条件付き書式 3.条件欄で「セルの値が▼」の▼をクリックして「数式が」を選択 4.「数式が▼」「=$A1="○"」とする 5.書式ボタンのパターンタブで、塗りつぶす色を選択 6.OKで閉じる マクロの場合は、 1.見出しを右クリックして「コードの表示」 2.下記のマクロをコピーして右上の欄に貼り付け Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then If Target.Value = "○" Then Target.Offset(0, 3).Interior.ColorIndex = 3 End If End Sub ColorIndexの値と色の例 1:黒 2:白 3:赤 4:黄緑 5:青 6:黄 7:ピンク 8:水色 9:茶 10:緑 11:紺 もっと細かい色付けなら、ColorIndexをColor にして色に対応するコードを設定してください。

ki0204
質問者

お礼

ありがとうございました

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

マクロじゃなくて、条件付き書式じゃ駄目なの? D1を選択して、「書式」→「条件付き書式」→「数式が」→「=A1="○"」と入力し、下にコピーするだけで出来るんですが…。

ki0204
質問者

お礼

ありがとうございました

関連するQ&A