Имейте в виду, что у нас есть 3 листа: Лист1, Лист2 и Лист3
Измените при необходимости и попробуйте:
Option Explicit
Sub test()
Dim ws As Worksheet, wsResults As Worksheet
Dim Lastrow As Long
With ThisWorkbook
'Set Sheet3 as wsResults
Set wsResults = .Worksheets("Sheet3")
'Clear wsResults
wsResults.UsedRange.Clear
'Loop all ws
For Each ws In .Worksheets
'If ws name <> Sheet3
If ws.Name <> "Sheet3" Then
'Find the last row of wsResults
Lastrow = wsResults.Cells(wsResults.Rows.Count, "A").End(xlUp).Row
'Copy ws used range after wsResults last row
ws.UsedRange.Copy wsResults.Range("A" & Lastrow + 1)
End If
Next ws
'Remove duplicates from wsResults based of first 3 columns
With wsResults
.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3), _
Header:=xlNo
End With
End With
End Sub