Я хотел бы знать фрагмент кода, который выделяет, когда значение ячейки отличается от одного листа 1 до листа 2.
Например, в ячейке A2 (лист1) есть значение asd24, а в ячейке A2 (лист2) - значение asd25, тогда эта конкретная ячейка должна быть выделена любым цветом либо на листе 1, либо на листе 2.
Я уже разработал с проверкой значения ячейки:
Sub test()
Dim varSheetA As Variant
Dim varSheetB As Variant
Dim strRangeToCheck As String
Dim iRow As Long
Dim iCol As Long
Dim R As Range
strRangeToCheck = "A1:IV65536"
' If you know the data will only be in a smaller range, reduce the size of the ranges above.
Debug.Print Now
varSheetA = Worksheets("Sheet1").Range(strRangeToCheck)
varSheetB = Worksheets("Sheet2").Range(strRangeToCheck) ' or whatever your other sheet is.
Debug.Print Now
For iRow = LBound(varSheetA, 1) To UBound(varSheetA, 1)
For iCol = LBound(varSheetA, 2) To UBound(varSheetA, 2)
If varSheetA(iRow, iCol) = varSheetB(iRow, iCol) Then
' Cells are identical.
' Do nothing.
Else
**/*/dont know what to do here***
End If
Next iCol
Next iRow
End Sub
У вас нужно, чтобы это случилось в VBA? Это тривиально реализовать с помощью условного форматирования («Использовать формулу, чтобы определить, какие ячейки нужно форматировать»)?


для форматирования цвета просто используйте
varSheetA(iRow, iCol).Interior.Color = RGB(255, 0, 0)для красного цвета. Если вы хотите раскрасить его в тот же цвет, что и на другом листе, используйтеvarSheetA(iRow, iCol).Interior.Color = varSheetB(iRow, iCol).Interior.Color