
ある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”

No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでセル同士を比較して色付け
Visual Basic(VBA)
-
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
更新前と更新後の差分をVBAを使って抜き出したい
Excel(エクセル)
-
-
4
EXCELのデータ修正時に、その部分だけ文字色を変える
Windows Vista・XP
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
あるセルの値を認識しないのですが、何が悪いのでしょうか?
Excel(エクセル)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
文字列を比較し、相違するフォント色を変える
その他(Microsoft Office)
-
9
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
10
VBAで配列の計算
Excel(エクセル)
-
11
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
12
VBAで特定の文字を探して隣のセルに色を付けたい
Excel(エクセル)
-
13
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
14
関数EXACT(文字列,文字列)とexcelVBA
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
任意フォルダから画像をすべて...
-
Excel vbaで特定の文字以外が入...
-
エクセルVBAでできるでしょ...
-
Excel VBA、 別ブックの最終行...
-
特定のセルが空白だったら、そ...
-
【VBA】指定したセルと同じ値で...
-
DataGridViewのセル編集完了後...
-
Excelで指定した日付から過去の...
-
【Excel VBA】指定行以降をクリ...
-
Application.Matchで特定行の検索
-
【Excel VBA】セルの色によって...
-
【Excel】指定したセルの名前で...
-
[Excel VB]プルダウンで文字選...
-
マクロで行がグループ化されて...
-
13箇所の株価をエクセルにRSSで...
-
VBAで検索して指定の位置に行を...
-
Excel VBAで、 ヘッダーへのセ...
-
screenupdatingが機能しなくて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
特定行の色を変えたい(FlexGrid)
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
VBA実行後に元のセルに戻りたい
-
Application.Matchで特定行の検索
-
”戻り値”が変化したときに、マ...
-
VBAでセルをクリックする回...
-
任意フォルダから画像をすべて...
-
Excel VBAで、 ヘッダーへのセ...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】指定行以降をクリ...
-
Excel vbaで特定の文字以外が入...
-
ExcelのVBAで数字と文字列をマ...
-
Excel VBA、 別ブックの最終行...
-
DataGridViewの各セル幅を自由...
-
VBA ユーザーフォーム ボタンク...
-
連続する複数のセル値がすべて0...
おすすめ情報
図の間違いがありました。Group1の2つ目の数値4のところで、AとBが間違ってますので、Bの数値、1のところも赤になりますね。すみませんでした。