• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel の VBAを使って、C列に日と書かれている行に色をつけたい)

Excel VBAを使ってC列に日と書かれている行に色をつけたい

このQ&Aのポイント
  • Excel VBAを使用して、C列に「日」と書かれている行に色をつけたいです。B列にはある月の1日から31日までの日付が並んでおり、同じ日付が6行ずつ並んでいます。C列には各日付に対応する曜日が並んでおり、同じ曜日が6行続きます。そして、C列に「日」と書かれている行のA列からS列までのセルをピンク色にしたいです。
  • ExcelのVBAを使って、C列の特定の行に色を付けたい場合は、条件付き書式を使用することができます。具体的には、セルの値が「日」と等しい場合にピンク色に変更するルールを設定します。また、C列には日付が6行ずつ並んでおり、同じ曜日が6行続きますので、ルールを一度設定すれば自動的に適用されます。
  • Excel VBAのマクロを使用して、C列に「日」と書かれている行に色をつける方法は次の通りです。まず、条件付き書式を使ってセルの値が「日」に等しいかどうかを判別します。その後、該当するセル範囲に対してピンク色の書式を設定します。条件付き書式を使用することで、手動で色を設定する必要がなくなります。

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

  • ベストアンサー
  • mythism
  • ベストアンサー率52% (45/86)
回答No.1

こんなところでいかがでしょうか. Sub ColoringSample() Dim i As Integer i = 1 While (Cells(i, 3).Value <> "") 'i行目のC列の内容をチェック If Cells(i, 3).Value = "日" Then 'それは「日」だったので色をつける Range("A" & Trim(Str(i)) & ":S" & Trim(Str(i))).Interior.ColorIndex = 7 '文字そのものの色をピンクにする場合にはこちらを使う 'Range("A" & Trim(Str(i)) & ":S" & Trim(Str(i))).Font.ColorIndex = 7 End If '次の行へ i = i + 1 Wend End Sub ただし,1行目から順に下方向にチェックしていって,C列目に空白が現れた時点で色づけを中止するという仕様になっています. 色は,Excel上の名称で「ピンク」と称されているものを指定しましたが,お気に召さない場合には, ColorIndexに代入する値を変更してください.

maimai01
質問者

お礼

できました~!!\(^^)/ ありがとうございました。朝から、いろいろやっていたのは、なんだったのだろう? て思うくらい、あざやかにできました~。すばらしいですね。VBA!! 最初、書いてくださったのを何も考えずにコピペしてはりつけてみて、実行しても、うんともすんとも言わないので、あれぇ? て思ってよくよくみると、C1からC4には、値がなかったのです。それで、i = 1 の部分をi = 5 に変えてやってみたら、うまくいきました。 Range("A" & Trim(Str(i))というところが、みそなんでしょうね。こういう使い方がわからなくて、朝からどうしたらいいのか、悩んでいました。 ほんとうに、とってもうれしいです。ありがとうございました。m(__)mm(__)m

関連するQ&A