こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

マクロ初心者で苦戦しており、教えていただけると大変ありがたいです。

エクセルの複数のシートに、問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

投稿日時 - 2012-12-25 17:40:55

QNo.7861247

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

Cells(i, 1)
1列目つまりA列のi行のセルを指定していますので、A列以外のセルに対しての処理を行っていないからです

指定範囲内のループならば
For Each~Next
でループさせた方がわかりやすいかと思います

投稿日時 - 2012-12-25 18:02:46

お礼

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

投稿日時 - 2012-12-26 08:44:29

あなたにオススメの質問