• 締切済み

エクセル マクロ 複数セルの色付けについて

マクロ初心者で苦戦しており、教えていただけると大変ありがたいです。 エクセルの複数のシートに、問2_1 、問2_2 、問2_10 (全部で問は2_28まであります)等の文字列があり、その文字に合わせて、そのセルだけ色を付けたいと考えております。 今書いているコードだと、ワークシートのA列にある場合は色が付けられるのですが、それ以外に色が付けられません。どこが間違っているでしょうか? どうぞご指導お願いいたします。 Sub 色つけ() Dim Maxrow As Long Dim i As Long Maxrow = Cells(Rows.Count, i).End(xlUp).Row For i = 1 To Maxrow If InStr(Cells(i, 1), "2_1 ") > 0 Then Cells(i, 1).Interior.ColorIndex = 6 If InStr(Cells(i, 1), "2_2 ") > 0 Then Cells(i, 1).Interior.ColorIndex = 6 If InStr(Cells(i, 1), "2_23 ") > 0 Then Cells(i, 1).Interior.ColorIndex = 23 If InStr(Cells(i, 1), "2_13 ") > 0 Then Cells(i, 1).Interior.ColorIndex = 4 If InStr(Cells(i, 1), "2_6 ") > 0 Then Cells(i, 1).Interior.ColorIndex = 7 Next i End Sub

みんなの回答

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

Cells(i, 1) 1列目つまりA列のi行のセルを指定していますので、A列以外のセルに対しての処理を行っていないからです 指定範囲内のループならば For Each~Next でループさせた方がわかりやすいかと思います

BerryBerry1155
質問者

お礼

A列以外のセルの処理をFor Eachでループさせて、できました!!! ありがとうございます!

関連するQ&A

専門家に質問してみよう