Хотя я бы сказал, что самый простой способ сделать это - использовать Pivot Table , ниже приведено решение для вашего кода, если вам нужно решение с использованием VBA.
Вы можете использоватьФункция RemoveDuplicates после копирования данных в Sheet2 позволяет сохранять только уникальные значения, как показано ниже.
Я еще не проверял, работает ли это еще, но из того, что я вижу, должно быть.
Dim lastCode As Long, lastFiltCode As Long
'Determine Last Row in Column U (Unfiltered Codes)
With Worksheets("Database") lastCode = .Range("U" & .Rows.Count).(xlUp).Row
'Filter Unique Codes into Column A Sheet2
.Range("U2:U" & lastCode).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Worksheets("Sheet2").Range("A1"), Unique:=True
End With
'Use Header:=xlNo below is Sheet2 doesn't have header
Worksheets("Sheet2").Range("A1:A100").RemoveDuplicates Columns:=Array(1), Header:=xlYes
End Sub
Измените Range ("A1: A100") выше на соответствующий диапазон в Sheet2.