Lots of errors in my aircode, so here's tested code...
Sub CompareSheets()
Dim vData1, vData2, vDataOut(), n&, j&, r&
Dim lMaxRows&, lMaxCols&, wksSrc1 As Worksheet, wksSrc2 As Worksheet
Set wksSrc1 = Sheets("Sheet1"): Set wksSrc2 = Sheets("Sheet2")
vData1 = wksSrc1.UsedRange: vData2 = wksSrc2.UsedRange
lMaxRows = UBound(vData1)
lMaxRows = IIf(UBound(vData2) lMaxRows, _
UBound(vData2), lMaxRows)
lMaxCols = UBound(vData1, 2)
lMaxCols = IIf(UBound(vData2, 2) lMaxCols, _
UBound(vData2, 2), lMaxCols)
'Match the array sizes
vData1 = wksSrc1.UsedRange.Resize(lMaxRows, lMaxCols)
vData2 = wksSrc2.UsedRange.Resize(lMaxRows, lMaxCols)
'Set output array size
ReDim vDataOut(1 To (lMaxRows * lMaxCols), 1 To 3)
'Since your loop compares all columns row by row...
For n = 1 To lMaxRows
For j = 1 To lMaxCols
r = r + 1
vDataOut(r, 1) = wksSrc1.Cells(n, j).Address
vDataOut(r, 2) = wksSrc1.Cells(n, j).Value
vDataOut(r, 3) = wksSrc2.Cells(n, j).Value
Next 'j
Next 'n
Worksheets.Add After:=wksSrc2
ActiveSheet.Cells(1).Resize(UBound(vDataOut), UBound(vDataOut, 2)) =
vDataOut
End Sub
--
Garry
Free usenet access at
http://www.eternal-september.org
Classic
VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.
vb.general.discussion