Hi
I had this macro that compared data between sheets 1 and 2 and marked "OK" "MISSING" and "DUPLICATE"
What im trying to amend it to do is to mark "OK" and "DUPLICATE" on sheet 1 still but when data is on sheet 2 but not on sheet 1 I need it marked "MISSING" on the row concerned on sheet 2.
Any ideas on how I can do this?
Sub compare_data()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim i As Long, j As Long, lr As Long
Set sh1 = ActiveWorkbook.Sheets("Sheet1")
Set sh2 = ActiveWorkbook.Sheets("Sheet2")
Application.ScreenUpdating = False
lr = sh1.Range("A" & sh1.Rows.Count).End(xlUp).Row
For i = 2 To lr
Application.StatusBar = "Checking row : " & i & " of : " & lr
j = Application.CountIfs(sh2.Columns("A"), sh1.Cells(i, "A").Value, sh2.Columns("B"), sh1.Cells(i, "B").Value, sh2.Columns("C"), sh1.Cells(i, "C").Value, _
sh2.Columns("D"), sh1.Cells(i, "D").Value)
Select Case j
Case 0
sh1.Cells(i, "E").Value = "MISSING"
Case 1
sh1.Cells(i, "E").Value = "OK"
Case Is > 1
sh1.Cells(i, "E").Value = "DUPLICATE"
End Select
Next
MsgBox "Done"
End Sub
Thanks
I had this macro that compared data between sheets 1 and 2 and marked "OK" "MISSING" and "DUPLICATE"
What im trying to amend it to do is to mark "OK" and "DUPLICATE" on sheet 1 still but when data is on sheet 2 but not on sheet 1 I need it marked "MISSING" on the row concerned on sheet 2.
Any ideas on how I can do this?
Sub compare_data()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim i As Long, j As Long, lr As Long
Set sh1 = ActiveWorkbook.Sheets("Sheet1")
Set sh2 = ActiveWorkbook.Sheets("Sheet2")
Application.ScreenUpdating = False
lr = sh1.Range("A" & sh1.Rows.Count).End(xlUp).Row
For i = 2 To lr
Application.StatusBar = "Checking row : " & i & " of : " & lr
j = Application.CountIfs(sh2.Columns("A"), sh1.Cells(i, "A").Value, sh2.Columns("B"), sh1.Cells(i, "B").Value, sh2.Columns("C"), sh1.Cells(i, "C").Value, _
sh2.Columns("D"), sh1.Cells(i, "D").Value)
Select Case j
Case 0
sh1.Cells(i, "E").Value = "MISSING"
Case 1
sh1.Cells(i, "E").Value = "OK"
Case Is > 1
sh1.Cells(i, "E").Value = "DUPLICATE"
End Select
Next
MsgBox "Done"
End Sub
Thanks