Về tốc độ thì có thể ADO không bằng, nhưng rất gọn.Tui thì không biết ADO, với lọc và Sort Number cũng làm "thí thí" như vầy:
Sub Loc_DuyNhat()
Dim cn As Object
Set cn = CreateObject("ADODB.Connection")
cn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"";")
Range("D3").CopyFromRecordset cn.Execute("Select distinct val(F1) from [NhatKy$B6:B] Where IsNumeric(f1)")
End Sub
thêm cách này cũng gọnVề tốc độ thì có thể ADO không bằng, nhưng rất gọn.
Mã:Sub Loc_DuyNhat() Dim cn As Object Set cn = CreateObject("ADODB.Connection") cn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"";") Range("D3").CopyFromRecordset cn.Execute("Select distinct val(F1) from [NhatKy$B6:B] Where IsNumeric(f1)") End Sub
Sub Loc_duy_nhat()
With Sheets("LOc")
.Range("A3").Resize(10000).Value = Sheets("NhatKy").Range("B5").Resize(10000).Value
.Range("A3").Resize(10000).RemoveDuplicates 1, xlNo
.Range("A3").Resize(10000).SortSpecial , [A3], 1, , , , , , xlNo
End With
End Sub
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2