Requirement:
The user wants to compare sheet 1 each complete row with sheet 2 complete rows if the data are same so put true in sheet 3 and if it false then put false in sheet3.
Solution:
Sub CompareRows()
Application.ScreenUpdating = False
Dim bottomA1 As Long
bottomA1 = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Dim bottomA2 As Long
bottomA2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
Dim lColumn1 As Long
Dim lColumn2 As Long
Dim Rng As Range, RngList As Object, x As Long, joinStr As String
Set RngList = CreateObject("Scripting.Dictionary")
For x = 1 To bottomA2
lColumn2 = Sheets("Sheet2").Cells(x, Sheets("Sheet2").Columns.Count).End(xlToLeft).Column
For Each Rng In Sheets("Sheet2").Range(Sheets("Sheet2").Cells(x, 1), Sheets("Sheet2").Cells(x, lColumn2))
joinStr = joinStr & Rng.Value
Next Rng
If Not RngList.Exists(joinStr) Then
RngList.Add joinStr, Nothing
End If
joinStr = ""
Next x
joinStr = ""
For x = 1 To bottomA1
lColumn1 = Sheets("Sheet1").Cells(x, Columns.Count).End(xlToLeft).Column
For Each Rng In Sheets("Sheet1").Range(Sheets("Sheet1").Cells(x, 1), Sheets("Sheet1").Cells(x, lColumn1))
joinStr = joinStr & Rng.Value
Next Rng
If Not RngList.Exists(joinStr) Then
Sheets("Sheet3").Cells(Sheets("Sheet3").Rows.Count, "A").End(xlUp).Offset(1, 0) = "Row " & x
Sheets("Sheet3").Cells(Sheets("Sheet3").Rows.Count, "B").End(xlUp).Offset(1, 0) = "False"
Else
Sheets("Sheet3").Cells(Sheets("Sheet3").Rows.Count, "A").End(xlUp).Offset(1, 0) = "Row " & x
Sheets("Sheet3").Cells(Sheets("Sheet3").Rows.Count, "B").End(xlUp).Offset(1, 0) = "True"
End If
joinStr = ""
Next x
RngList.RemoveAll
Application.ScreenUpdating = True
End Sub
Obtained from the OzGrid Help Forum.
Solution provided by Mumps.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
| How to copy the data from sheet 1 and paste to sheet 2 |
| How to paste a number as text |
| How to use VBA code to not copy and paste the same information |
| How to copy columns from multiple workbooks and paste into one worksheet |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.