- ベストアンサー
マクロでの色の塗りつぶしについて
A1のセルに○、A2のセルには○、A3のセルには×・・・といった行があるとします。 その中から○のセルを探し、その○のD列(A1が○ならD1)を色で塗りつぶしたい時 どのようなマクロにすればよいか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
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(薄い黄)を変えれば色が変わりますので、好みの色に 変えて下さい。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
こんな課題は、ここにわざわざ質問を出すまでも無く、操作をしてマクロの記録を採ればコードがわかることだ。 やってみると 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はエクセルの操作を知らないで、勉強するものではない。 人間がエクセルで出来る操作を、コード実行で実現するものだから。
お礼
ありがとうございました
- mshr1962
- ベストアンサー率39% (7417/18945)
マクロを使わなくても条件付き書式という機能があります。 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 にして色に対応するコードを設定してください。
お礼
ありがとうございました
- edomin7777
- ベストアンサー率40% (711/1750)
マクロじゃなくて、条件付き書式じゃ駄目なの? D1を選択して、「書式」→「条件付き書式」→「数式が」→「=A1="○"」と入力し、下にコピーするだけで出来るんですが…。
お礼
ありがとうございました
お礼
ありがとうございました