プロが教えるわが家の防犯対策術!

ある2グループの表があります。その中のセルAからC内のセルを比較し、間違っていればセルに色を付けるというマクロを作りたいと思ってますがうまく行きません。 そのセルの比較はGroupの1と2に由来します。たとえば下図の、Group2を主(参照)とし、一番左の数値が4の場合、Group1の4と数値を探し出し(サーチし)、その右側のAからCの値を比較する。間違いがあればGroup1の方のみ色を付けるといった感じです。 Group1とGroup2の左側の数値は順不同でシートによって数値が変わります。しかしGroup2のA~Cの値は固定で変わりません。 またGroup1とGroup2のすべての値は同じシートで比較されます。
まず、Group1とGroup2の左側の値を比較してマッチさせるというマクロが1つ要るのと、そのマッチした数値があれば、A~Cの値を比較色付け。といった感じのマクロがもう一つ要ります。
どうすれば、いいマクロができるのか、教えていただければ幸いです。
どうぞよろしくお願いいたします。
違うシートで比較はある。
http://t-wata.com/?p=156

「Excel VBAで比較して数値があって」の質問画像

質問者からの補足コメント

  • 図の間違いがありました。Group1の2つ目の数値4のところで、AとBが間違ってますので、Bの数値、1のところも赤になりますね。すみませんでした。

    「Excel VBAで比較して数値があって」の補足画像1
      補足日時:2017/03/07 05:37

A 回答 (1件)

こんにちは!



下側の画像の配置通りだとして・・・

Sub Sample1()
Dim i As Long, j As Long, c As Range
Range("E:G").Interior.ColorIndex = xlNone
For i = 3 To Cells(Rows.Count, "D").End(xlUp).Row
Set c = Range("I:I").Find(what:=Cells(i, "D"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then '←念のため//
For j = 5 To 7 'E~G列まで//
If Cells(i, j) <> c.Offset(, j - 4) Then
Cells(i, j).Interior.ColorIndex = 3
End If
Next j
End If
Next i
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 1
この回答へのお礼

動きました。どうもありがとうございました。 すごいw

お礼日時:2017/03/07 10:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A