I have this code that compares two excel sheets. The code is working fine for small comparisons. I did a test run with 7 rows and 2 columns.
The code itself works as follows, it compares the two sheets and copies the differences into a new workbook.
However, the code should be implemented on files that have around 16 columns and a lot of rows around 206700.
The problem is that when the new files is created, the process starts but maybe because the overload of having a lot of rows the file shows “Not Responding”. I’ve been waiting for like 10min now and still not responding.
Can anyone help or give me advice concerning this
Sub Compare2WorkSheets(ws1 As Worksheet, ws2 As Worksheet)
  Dim ws1row As Long, ws2row As Long, ws1col As Integer, ws2col As Integer
  Dim maxrow As Long, maxcol As Integer, colval1 As String, colval2 As String
  Dim report As Workbook, difference As Long
  Dim row As Long, col As Integer
  Set report = Workbooks.Add
  With ws1.UsedRange
    ws1row = .Rows.Count
    ws1col = .Columns.Count
  End With
  With ws2.UsedRange
    ws2row = .Rows.Count
    ws2col = .Columns.Count
  End With
  maxrow = ws1row
  maxcol = ws1col
  If maxrow < ws2row Then maxrow = ws2row
  If maxcol < ws2col Then maxcol = ws2col
  difference = 0
  For col = 1 To maxcol
    For row = 1 To maxrow
      colval1 = ""
      colval2 = ""
      colval1 = ws1.Cells(row, col).Formula
      colval2 = ws2.Cells(row, col).Formula
      If colval1 <> colval2 Then
        difference = difference + 1
        Cells(row, col).Formula = colval1 & "<> " & colval2
        Cells(row, col).Interior.Color = 255
        Cells(row, col).Font.ColorIndex = 2
        Cells(row, col).Font.Bold = True
      End If
    Next row
  Next col
  Columns("A:B").ColumnWidth = 25
  report.Saved = True
  If difference = 0 Then
    report.Close False
  End If
  Set report = Nothing
  MsgBox difference & " cells contain different data! ", vbInformation, _
         "Comparing Two       Worksheets"
End Sub
 
     
     
    


