Chào mừng đến với Diễn Đàn Tin Học VN! Hãy chia sẽ những gì bạn biết, và đưa ra thắc mắc của bạn để được giải đáp.

Xem chủ đề cũ hơnGo downXem chủ đề mới hơn
phoenix51706
phoenix51706
Admin
Tổng số bài gửi : 171
Join date : 30/07/2010
https://diendantinhocvn.forumvi.com

Hàm lọc danh sách duy nhất trong VBA excel Empty Hàm lọc danh sách duy nhất trong VBA excel

04/11/21, 12:58 pm
Hàm lọc giá trị duy nhất giúp lọc ra danh sách duy nhất và không có trùng lặp từ danh sách "hỗn tạp" mà bạn đưa vào.

Code:
Public Function LocDuyNhat(rng As Range)
   Dim i As Integer
   Dim vaData As Variant
   Dim CellValue As Variant
   Dim colUnique As Collection
   Dim aOutPut() As Variant
   vaData = rng.Value
   Set colUnique = New Collection
 
   If rng.Count = 1 Then
       colUnique.Add vaData, CStr(vaData)
   Else
       On Error Resume Next
           For Each CellValue In vaData
               If CellValue <> "" Then
                   colUnique.Add CellValue, CStr(CellValue)
               End If
           Next
       On Error GoTo 0
   End If
   ReDim aOutPut(1 To colUnique.Count, 1 To 1)
   For i = 1 To colUnique.Count
       aOutPut(i, 1) = colUnique.Item(i)
   Next i

   LocDuyNhat = aOutPut()
   
End Function

Cách gọi hàm và sử dụng

Code:
   Dim Player_List() As Variant

  'Gọi hàm lọc duy nhất và đưa danh sách cần lọc vào rồi lưu và biến Player_List'
   Player_List = LocDuyNhat(Sheet3.Range("D2:D1000"))
   
  'Xuất danh sách vừa lọc đựa ra  cột A trong sheet2 bắt đầu từ ô A2'
   Sheet2.Range("A2").Resize(UBound(Player_List, 1), UBound(Player_List, 2)).Value = Player_List
Xem chủ đề cũ hơnVề Đầu TrangXem chủ đề mới hơn
Permissions in this forum:
Bạn không có quyền trả lời bài viết