Sub Test()
Dim i&, D As Object
Dim TReport As Variant, TData As Variant
Set D = CreateObject("Scripting.dictionary")
TData = Sheets("Sheet1").UsedRange
ReDim TReport(1 To UBound(TData, 1) * UBound(TData, 2), 0)
For j = LBound(TData, 2) To UBound(TData, 2)
For i = LBound(TData, 1) To UBound(TData, 1)
If Not D.Exists(TData(i, j)) And TData(i, j) <> "" Then
K = K + 1
TReport(K, 0) = TData(i, j)
D(TData(i, j)) = ""
End If
Next i
Next j
Sheets("Sheet2").Cells(2, 2).Resize(K, 1) = TReport
End Sub