【VBA】指定した範囲の色付け 添付しました画像のような表に色を付けたいです。

画像

Excel346閲覧

ベストアンサー

1

1人がナイス!しています

ご対応いただき、誠にありがとうございます! そして1『行』置きの間違いでした、お気づき頂き感謝です! ■□■□ C6:C223 / D6:D223 … 背景 / フォントカラー L5:FJ5 … 日付欄 ■□■□ 上記は関数が入っており、空白はすべて『""』となっております。 そのせいでしょうか、コードを貼り付けさせていただいた時『実行時エラー91』が発生致しました。 (""は空白とみなされず『End(xlUp).Row』で拾ってしまうため?) カラー設定1・2にもエラーが出たのですが、こちらはIfを使ってなんとかなりました。 しかしカラー設定3はどうにもならず StC = Range("L5:FJ5").Find(St).Column 上記の位置でステップインを実行し、エラー91が出ました。 大変申し訳ないのですが、再度力をお貸ししていただけたら幸いです…!

ThanksImg質問者からのお礼コメント

お二方、親切に回答していただき誠にありがとうございました。 ベストアンサーは最初に回答していただいたaxdさんにさせていただきたく存じます。 kkyさんも本当にありがとうございました! まだまだVBAを始めたばかりの素人なので、まずはお二方のコードを読み解くところから始めていけたらと思います。 貴重なお時間を割いていただき、重ねて御礼申し上げます。 本当にありがとうございました!

お礼日時:5/24 16:21

その他の回答(1件)

1

Sub カラー設定1() と Sub カラー設定2() は For i = 6 To 223 でなく For i = 6 To Cells(Rows.Count, 10).End(xlUp).Row にして下さい。 L列以降の色付けコード Sub test3() Dim rng As Range Dim i As Long Dim sc As Variant, ec As Variant Set rng = Range("L5:FJ5") Range("L6:FJ" & Cells(Rows.Count, 3).End(xlUp).Row).Interior.color = xlNone For i = 6 To Cells(Rows.Count, 10).End(xlUp).Row Step 2 If Range("J" & i).Value <> "" And Range("K" & i).Value <> "" Then sc = Application.Match(CLng(Range("J" & i).Value), rng, 0) If IsError(sc) Then sc = 1 End If ec = Application.Match(CLng(Range("K" & i).Value), rng, 0) If IsError(ec) Then ec = 155 End If Range(Cells(i, sc + 11), Cells(i, ec + 11)).Interior.color = "&H" & Cells(i, 3) End If Next i End Sub

1人がナイス!しています

この返信は削除されました