Благодаря этому сайту я адаптировал код для своих собственных нужд, этот макрос позволяет мне сравнивать конкретные ячейки строки X с другими ячейками строки Y, и существует соответствие между всеми ячейками не только 1 или 2 ячейки, но и всеми ячейки этой строки дают 1 и 0 , если совпадение не найдено
- проблема в том, что макрос сравнивает строку X с Y, что я хочу, но я не сравниваю X с Y + 1 или Y + 2, он переходит непосредственно к X + 1 и сравнивает его с Y + 1
, чтобы лучше понять мою проблему, см. Ниже:
на этом изображении две строки с желтым цветом идентичны, а в столбце AO 1 перед первой строкой и 1 перед второй строкой
так, что сравнивать каждую строку с другими строками (X с Y, Y + 1, Y + 2) и переходить к следующей строке, и когда есть совпадение, которое подсвечивается или возвращает 1 в столбце «AO»
Код:
Sub check()
Dim check1, check2 As Variant
Dim l As Long
Dim ElementsSame As Boolean
For i = 2 To 74
check1 = Array(Range("F" & i), Range("G" & i), Range("H" & i), Range("I"
& i), Range("J" & i), Range("K" & i), Range("L" & i), Range("M" & i),
Range("N" & i), Range("O" & i), Range("P" & i), Range("Q" & i),
Range("R" & i), Range("S" & i), Range("T" & i), Range("U" & i),
Range("V" & i), Range("W" & i), Range("X" & i), Range("Y" & i),
Range("Z" & i), Range("AA" & i), Range("AB" & i), Range("AC" & i),
Range("AD" & i), Range("AE" & i), Range("AF" & i), Range("AG" & i),
Range("AH" & i), Range("AI" & i), Range("AJ" & i), Range("AL" & i),
Range("AM" & i))
For D = 3 To 74
check2 = Array(Range("F" & D), Range("G" & D), Range("H" & D), Range("I"
& D), Range("J" & D), Range("K" & D), Range("L" & D), Range("M" & D),
Range("N" & D), Range("O" & D), Range("P" & D), Range("Q" & D),
Range("R" & D), Range("S" & D), Range("T" & D), Range("U" & D),
Range("V" & D), Range("W" & D), Range("X" & D), Range("Y" & D),
Range("Z" & D), Range("AA" & D), Range("AB" & D), Range("AC" & D),
Range("AD" & D), Range("AE" & D), Range("AF" & D), Range("AG" & D),
Range("AH" & D), Range("AI" & D), Range("AJ" & D), Range("AL" & D),
Range("AM" & D))
ElementsSame = True
For l = 0 To 32
If check1(l) <> check2(l) Then
ElementsSame = False
Exit For
End If
Next l
If ElementsSame = False Then
Range("AO" & i) = 1
Range("AO" & D) = 1
Else
Range("AN" & D) = 0
End If
Next D
Next i
End Sub
Любой может подсказать мне, как решить эту проблему, и если что-то не понятно по моей проблеме, пожалуйста, не стесняйтесь спрашивать
B.R
Polos