Я пытаюсь сравнить значения из столбца A в Sheet1
(который я переименовал в "AR") и столбца A в Sheet2
(который я переименовал в "Вставить здесь") и выделить строки, содержащие значения, которые не существуют на другом листе. (Оба столбца заканчиваются пустой ячейкой.) Я нашел макрос, который, как мне показалось, сделал нечто похожее на то, что я хотел здесь, в разделе Эффективное удаление дубликатов записей на нескольких листах Excel, и я пытаюсь изменить его в соответствии со своими потребностями, но не могу заставить его работать.
В настоящее время, когда я запускаю его, он блокирует Excel, и мне нужно выполнить конечную задачу в Excel.
Это то, что я до сих пор:
Option Explicit
Sub Compare2()
Application.ScreenUpdating = False
Dim startRow As Integer
startRow = 1
Dim row As Integer
row = startRow
Dim bRow As Integer
'sharks below, cap'ain
' This loop is looping on row.
' Scan down column AR!A (i.e., Sheet1!A) until we find an empty cell.
Do While (Worksheets("AR").Range("A" & row).Value <> "")
Dim aVal As String
aVal = Worksheets("AR").Range("A" & row).Value
bRow = startRow 'I see thy booty
' This loop is looping on bRow. Scan down column 'Paste Here'!A
' (i.e., Sheet2!A) until we find an empty cell.
Do While (Worksheets("Paste Here").Range("A" & bRow).Value <> "")
Dim aVal2 As String
aVal2 = Worksheets("Paste Here").Range("A" & bRow).Value
If (aVal <> aVal2) Then
Worksheets("AR").Rows(row).Interior.ColorIndex = 6
' we found a traitor; feed 'em to the sharks
row = row - row
Exit Do
End If
If (aVal2 <> aVal) Then
Worksheets("Paste Here").Rows(row).Interior.ColorIndex = 6
row = row - row
Exit Do
End If
bRow = bRow + 1
Loop
row = row + 1
Loop
End Sub
Любая помощь, которую вы можете оказать, будет полезна.