How about this:
Assuming you mean workbooks instead of spreadsheets programs
Option Explicit
'Returns True if all cells in the workbook have the same text content (you could add formulas if you need to)
Function CompareWorkbooks(Wbook1 As Workbook, Wbook2 As Workbook) As Boolean
Dim Wsheet1 As Worksheet
Dim Wsheet2 As Worksheet
Dim I As Long, Col As Long, Rw As Long
'for clarity:
CompareWorkbooks = False
'first check the basics, before checking all cells
If Wbook1.Worksheets.Count <> Wbook2.Worksheets.Count Then Exit Function
For I = 1 To Wbook1.Worksheets.Count
If Wbook1.Worksheets(I).UsedRange.Columns.Count <> Wbook2.Worksheets(I).UsedRange.Columns.Count Then Exit Function
If Wbook1.Worksheets(I).UsedRange.Rows.Count <> Wbook2.Worksheets(I).UsedRange.Rows.Count Then Exit Function
Next
'check all cells
For I = 1 To Wbook1.Worksheets.Count
For Col = 1 To Wbook1.Worksheets(I).UsedRange.Columns.Count
For Rw = 1 To Wbook1.Worksheets(I).UsedRange.Rows.Count
'comment out the ones you do not need
If Wbook1.Worksheets(I).Cells(Rw, Col).Text <> Wbook2.Worksheets(I).Cells(Rw, Col).Text Then Exit Function
If Wbook1.Worksheets(I).Cells(Rw, Col).Value <> Wbook2.Worksheets(I).Cells(Rw, Col).Value Then Exit Function
If Wbook1.Worksheets(I).Cells(Rw, Col).Formula <> Wbook2.Worksheets(I).Cells(Rw, Col).Formula Then Exit Function
Next
Next
Next
CompareWorkbooks = True
End Function
Sub test()
Dim Wbook1 As Workbook
Dim Wbook2 As Workbook
Set Wbook1 = Application.Workbooks.Open("c:\test\test2.xls")
Set Wbook2 = Application.Workbooks.Open("c:\test\test3.xls")
If CompareWorkbooks(Wbook1, Wbook2) Then
MsgBox "the same!"
Else
MsgBox "different!"
End If
Bookmarks