• ベストアンサー

マクロで色つけ

EXCEL2000で、条件に合うときセルを塗りつぶすマクロを作りたいので教えて下さい。 A列にはA01やB02など「英数数」の3桁のコードがあります。 A列がDから始まるときにF列G列をグレーに塗りつぶしたいのですが、 元々セルには黄色で配色していて、その後F列G列に入っている数値を確認したあとは、塗りつぶしを消します。 A列がDから始まるとき、F列とG列が、塗りつぶしがなければそのままで、黄色の時はグレーにするマクロを作成するにはどのようにすればよいでしょうか?

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

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

Sub test01() With ActiveSheet 'アクティブなシートで For Each c In .Range(.Cells(1, "A"), .Cells(Rows.Count, "A").End(xlUp)) 'A列の入力範囲の各セルで If c.Value <> "" Then '空白でなければ If Left(c.Value, 1) = "D" Then '先頭の1文字がDなら If c.Offset(0, 5).Resize(1, 2).Interior.ColorIndex = 6 Then 'その行のFとG列ともに黄色なら c.Offset(0, 5).Resize(1, 2).Interior.ColorIndex = 15 'その行のFとG列ともに灰色にする End If End If End If Next End With End Sub こういうことでしょうか? ただ、黄色といわれても何種類もありますよ。 上記はColorIndexが6の黄色を対象にしています。

kohfuu
質問者

お礼

ご提示いただいたマクロは私の思いとおりに動作いたしました。 条件が複数あるため難しくなると思い込んでいましたが 注釈をみると「整理するとこうなるのか」と感心してしまいました。 ほんとうに助かりました。ありがとうございました。

関連するQ&A