Sub test()

  Dim myRng1 As Range, myRng2 As Range

  Dim tbl1 As Variant, tbl2 As Variant

  Dim i As Long, j As Long, myRow As Long

  Set myRng1 = Worksheets("Sheet1").Range("A1").CurrentRegion 

  Set myRng2 = Worksheets("Sheet2").Range("A1").CurrentRegion 

  tbl1 = myRng1.Value

  tbl2 = myRng2.Value

  For i = 2 To UBound(tbl2)  '????

    myRow = 0

    On Error Resume Next

    With Application.WorksheetFunction

      myRow = .Match(tbl2(i, 1), .Index(tbl1, 0, 1), 0)

    End With

    On Error GoTo 0

        If myRow = 0 Then

           myRng2.Rows(i).Interior.ColorIndex = 8

        Else

            For j = 1 To 17

                  If tbl1(myRow, j) <> tbl2(i, j) Then

                    myRng2.Cells(i, j).Interior.ColorIndex = 6

                End If

            Next j

        End If

    Next i


  End Sub


배열을 쓰고있진않고


a1부터 값이 들어있는 셀까지 범위를 지정하는 방식으로 쓰고있습니다만


코드자체엔 별 문제가 없는거같은데 문제는 셀에 들어있는 텍스트가 너무 많아지면 코드가 돌지를 않고


모든 셀을 ColorIndex = 8로 칠해버립니다 ㅠㅠ