Сравнивайте значения ячейка за ячейкой в ​​разных листах - PullRequest
0 голосов
/ 04 мая 2020

Я создал следующее l oop для сравнения значений ячеек в разных листах.

    Dim mRng, qRng As Range
    Dim i, j As Range
    Dim k As Integer

    With Worksheets("Content")
        Set mRng = .Range(.Range("D2"), .Range("D2").End(xlDown))
    End With


    With Worksheets("Book")
        Set qRng = .Range(.Range("H2"), .Range("H2").End(xlDown))
    End With


    For Each i In mRng
        For Each j In qRng

            If i <> j Then
                i.Interior.Color = vbRed
                MsgBox "Data does not match, please check again!", vbOKOnly
                Exit Sub
            Else:
                i.Interior.Color = vbGreen
            End If
        Next j
    Next i

Как изменить вышеприведенные коды так, чтобы 'i' также каждый раз l oop вместе с 'j' (т.е. i2 против j2, i3 против j3).

1 Ответ

0 голосов
/ 04 мая 2020

Используйте long, а не диапазон и повторяйте его.

    'you need to put as type after each variable
    Dim worksheet1 As Worksheet, worksheet2 As Worksheet 
    Dim i As Long, lr As Long

    Set worksheet1 = ActiveWorkbook.Worksheets("Content")
    Set worksheet2 = ActiveWorkbook.Worksheets("Book")
    With worksheet1
        lr = .Cells(.Rows.Count, 4).End(xlUp).Row 'get last row
    End With
    With worksheet2
        'make sure the second sheet isn't longer than the first
        If .Cells(.Rows.Count, 8).End(xlUp).Row > i Then 
            lr = .Cells(.Rows.Count, 8).End(xlUp).Row
    End If
    End With
    With worksheet1
        For i = 1 To lr 'iterate the row
            If .Cells(i, 4).Value <> worksheet2.Cells(i, 8).Value Then
                .Cells(i, 4).Interior.Color = vbRed
                MsgBox "Data does not match, please check again!", vbOKOnly
                Exit Sub
            Else
                .Cells(i, 4).Interior.Color = vbGreen
            End If
        Next i
    End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...