Các câu hỏi về lọc ra danh sách duy nhất (loại bỏ dữ liệu trùng)

Liên hệ QC
Em cảm ơn nhiều!. Trường hợp em muốn giữ nguyên trạng thái dữ liệu ở cột A trong sheet Dulieu thì phải thay đổi như thế nào?
Bạn thử với Sub này xem:
PHP:
Option Explicit

Sub sGpe()
Dim Dic As Object, sArr(), dArr(), I As Long, R As Long, K As Long
Set Dic = CreateObject("Scripting.Dictionary")
    sArr = Sheets("Dulieu").Range("A2", Sheets("Dulieu").Range("A1000000").End(xlUp)).Value2
    R = UBound(sArr)
ReDim dArr(1 To R, 1 To 2)
For I = 1 To R
    If sArr(I, 1) <> Empty Then
        If Not Dic.Exists(sArr(I, 1)) Then
            K = K + 1
            dArr(K, 1) = K
            dArr(K, 2) = sArr(I, 1)
            Dic.Item(sArr(I, 1)) = K
        End If
    End If
Next I
    Sheets("Ket qua").Range("A2:B1000000").ClearContents
    Sheets("Ket qua").Range("A2").Resize(K, 2) = dArr
Set Dic = Nothing
End Sub
 
Bạn thử với Sub này xem:
PHP:
Option Explicit

Sub sGpe()
Dim Dic As Object, sArr(), dArr(), I As Long, R As Long, K As Long
Set Dic = CreateObject("Scripting.Dictionary")
    sArr = Sheets("Dulieu").Range("A2", Sheets("Dulieu").Range("A1000000").End(xlUp)).Value2
    R = UBound(sArr)
ReDim dArr(1 To R, 1 To 2)
For I = 1 To R
    If sArr(I, 1) <> Empty Then
        If Not Dic.Exists(sArr(I, 1)) Then
            K = K + 1
            dArr(K, 1) = K
            dArr(K, 2) = sArr(I, 1)
            Dic.Item(sArr(I, 1)) = K
        End If
    End If
Next I
    Sheets("Ket qua").Range("A2:B1000000").ClearContents
    Sheets("Ket qua").Range("A2").Resize(K, 2) = dArr
Set Dic = Nothing
End Sub
Tuyệt vời bác ạ
Bác giúp em thêm cái này nữa nhé!
Cảm ơn bác nhiều!
 

File đính kèm

  • Vidu.xlsm
    52.1 KB · Đọc: 20
Bác nào ra tay giúp em với
PHP:
Option Explicit
Sub sGpe()
Dim Dict As Object, sArr(), dArr(), Rng As Range, Sh As Worksheet
Dim I As Long, R As Long, K As Long, W As Integer

Set Sh = ThisWorkbook.Worksheets("DuLieu")
For W = 1 To 2
    Set Dict = CreateObject("Scripting.Dictionary")
    Set Rng = Sh.Range(Sh.Cells(2, 3 + W), Sh.Cells(10 ^ 6, 3 + W).End(xlUp))
    sArr = Rng.Value:                                                R = UBound(sArr)
    ReDim dArr(1 To R, 1 To 2)
    For I = 1 To R
        If sArr(I, 1) <> Empty Then
            If Not Dict.Exists(sArr(I, 1)) Then
                K = K + 1:                                            dArr(K, 1) = K
                dArr(K, 2) = sArr(I, 1):                              Dict.Item(sArr(I, 1)) = K
            End If
        End If
    Next I
    Sheets("Ketqua").Cells(2, 7 * W).CurrentRegion.Offset(1).ClearContents
    Sheets("Ketqua").Cells(2, 7 * W).Resize(K, 2) = dArr
    K = 0
Next W
Set Dict = Nothing
End Sub
 
Lần chỉnh sửa cuối:
Chào các anh chị!. Em có một file kê mặt hàng bán từng chứng từ. Bây giờ em muốn lọc ra ở sheet khác từng chứng từ và tổng số tiền của từng chứng từ. Mong các anh chị giúp đỡ ạ
 

File đính kèm

  • lay ra ma phieu.xlsx
    27.2 KB · Đọc: 6
Web KT
Back
Top Bottom