Mong giúp đỡ về lọc dữ liệu bằng VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

judychan168

Thành viên mới
Tham gia
25/11/10
Bài viết
8
Được thích
1
Mong các bác giúp đỡ em trong việc lọc danh sách bằng VBA, em đang tập học phần này.

Sheet “Tong” là tổng hợp tất cả các khách hàng hiện có
Sheet “Danh Sach” là số khách hàng đang tham gia chương trình khuyến mãi của bên cty

Trong Sheet”So Lan Tham Gia”, em muốn có thể nhấp chọn số lần tham gia sau đó sẽ hiện thị số lần tham gia tương ứng. Ví dụ: Username 1 tham gia 3 lan, thì khi chọn số 3 trong mục So Lan Tham Gia thi se hien thi het thong tin cua Username1
Trong Sheet” DS Trung” là tổng hợp các khách hàng trùng nhau của Sheet “Tong” và Sheet”Danh Sach”.
Trong Sheet “DS Khong Trung” sẽ hiện thị tất cả các KH trong cả 2 Sheet “Tong” và “ Danh Sach” không trùng nhau

Em có sử dụng Auto filter nhưng danh sách rất là dài vì phải cập nhật hàng ngày nên excel khi chạy file lúc nào cũng chết file.

Mong được các bác giúp đỡ, xin cám ơn.
 

File đính kèm

Góp ý cho bạn:

- Muốn biết số lần tham gia thì bạn dùng PivotTable sẽ biết được mỗi người tham gia bao nhiêu lần.
- Để lập ” DS Trung” và “DS Khong Trung” thì Sort cột số lần trong PivotTable rồi Copy nó qua.
- Muốn biết số lần của 1 khách hàng nào có tham gia chương trình khuyến mãi của bên cty khi họ đến thì dùng Advanced Filter để lọc ở 1 sheet riêng.

- Về PivotTable và Advanced Filter trên diễn đàn đã có nhiều bài viết hướng dẫn, bạn nên tìm đọc sẽ ngộ ra những vấn đề bạn thắc mắc.

Bạn tham khảo bài sau cũng tương tự như yêu cầu của bạn:[h=2]"Giúp hàm lọc ra các đối tượng trùng nhau và đếm số lần trùng"[/h]
Đây là Link của bài viết đó:
http://www.giaiphapexcel.com/forum/...-các-đối-tượng-trùng-nhau-và-đếm-số-lần-trùng
 
Lần chỉnh sửa cuối:
Upvote 0
Đây, sẵn lòng hỗ trợ bạn 3 macro để tham khảo

,,,,,,,,,,,,,,,,,,,,,
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
mình mở dc file rồi, tuy nhiên khi mình copy dữ liệu vào để xem vba hoạt động như thế nào thì copy vùng dữ liệu vào sheet 1"Tong" thì lại không cho phép
 
Upvote 0
Mong các bác giúp đỡ em trong việc lọc danh sách bằng VBA, em đang tập học phần này.

Sheet “Tong” là tổng hợp tất cả các khách hàng hiện có
Sheet “Danh Sach” là số khách hàng đang tham gia chương trình khuyến mãi của bên cty

Trong Sheet”So Lan Tham Gia”, em muốn có thể nhấp chọn số lần tham gia sau đó sẽ hiện thị số lần tham gia tương ứng. Ví dụ: Username 1 tham gia 3 lan, thì khi chọn số 3 trong mục So Lan Tham Gia thi se hien thi het thong tin cua Username1
Trong Sheet” DS Trung” là tổng hợp các khách hàng trùng nhau của Sheet “Tong” và Sheet”Danh Sach”.
Trong Sheet “DS Khong Trung” sẽ hiện thị tất cả các KH trong cả 2 Sheet “Tong” và “ Danh Sach” không trùng nhau

Em có sử dụng Auto filter nhưng danh sách rất là dài vì phải cập nhật hàng ngày nên excel khi chạy file lúc nào cũng chết file.

Mong được các bác giúp đỡ, xin cám ơn.
https://www.fshare.vn/file/JOH3NSR55ZCE
TRÌNH ĐỘ CÒN THẤP MONG FILE GIÚP ĐC B
 
Upvote 0
À! Trong đó có 1 dòng lệnh trong macro còn sai sót: Thếu dấu chấm đầu dòng lệnh. Nên khi bạn chạy macro nó xóa luôn dữ liệu bên 'Tong'
PHP:
Option Explicit
Sub DSKhongTrung()
 Dim Arr(), Rng As Range, sRng As Range, Sh As Worksheet
 Dim J&, W As Byte, Kh%
 
 Sheets("Tong").Select
 Arr() = [b2].CurrentRegion.Offset(1).Value
 Set Sh = ThisWorkbook.Worksheets("Danh Sach")
 Set Rng = Sh.Range(Sh.[a1], Sh.[a1].End(xlDown))
 ReDim dArr(1 To 999, 1 To 6)
 With Sheets("DS Khong Trung")
    .[b2].CurrentRegion.Offset(1).ClearContents '<=|'
    For J = 1 To UBound(Arr())
        Set sRng = Rng.Find(Arr(J, 1), , xlFormulas, xlWhole)
        If sRng Is Nothing Then
            Kh = Kh + 1
            For W = 1 To 6
                dArr(Kh, W) = Arr(J, W)
            Next W
        End If
    Next J
    If Kh Then .[A2].Resize(Kh, 6).Value = dArr()
 End With
End Sub

Bạn thêm dấu chấm vô dòng lệnh có đánh dấu đó & rất xin lỗi bạn!
 
Upvote 0
code bác lỗi hay sao ấy. Tại sheet s o lan tham gia mình nhấn từ 1-99 không có gì thay đổi hết. Sheet trùng vs không trùng khi chạy thì sheet tổng bị xóa hết dữ liệu. Như vậy cập nhật thêm sao đc bác. với đang ở sheet DS Trung. chạy code lại bay về Tong nhưng không lọc được gì hết. tương tự DS Khong Trung y chang
 
Lần chỉnh sửa cuối:
Upvote 0
À! Trong đó có 1 dòng lệnh trong macro còn sai sót: Thếu dấu chấm đầu dòng lệnh. Nên khi bạn chạy macro nó xóa luôn dữ liệu bên 'Tong'
PHP:
Option Explicit
Sub DSKhongTrung()
 Dim Arr(), Rng As Range, sRng As Range, Sh As Worksheet
 Dim J&, W As Byte, Kh%
 
 Sheets("Tong").Select
 Arr() = [b2].CurrentRegion.Offset(1).Value
 Set Sh = ThisWorkbook.Worksheets("Danh Sach")
 Set Rng = Sh.Range(Sh.[a1], Sh.[a1].End(xlDown))
 ReDim dArr(1 To 999, 1 To 6)
 With Sheets("DS Khong Trung")
    .[b2].CurrentRegion.Offset(1).ClearContents '<=|'
    For J = 1 To UBound(Arr())
        Set sRng = Rng.Find(Arr(J, 1), , xlFormulas, xlWhole)
        If sRng Is Nothing Then
            Kh = Kh + 1
            For W = 1 To 6
                dArr(Kh, W) = Arr(J, W)
            Next W
        End If
    Next J
    If Kh Then .[A2].Resize(Kh, 6).Value = dArr()
 End With
End Sub

Bạn thêm dấu chấm vô dòng lệnh có đánh dấu đó & rất xin lỗi bạn!
SAO KO CHO CODE MỚI LUÔN ĐI BÁC. EM THÊM Y CHANG RỒI
NHƯ VẦY ĐÚNG KO
[b2].CurrentRegion.Offset(1).ClearContents.
BÁO LỖI
 
Upvote 0
[Thongbao]SAO KO CHO CODE MỚI LUÔN ĐI BÁC. EM THÊM Y CHANG RỒI
NHƯ VẦY ĐÚNG KO
[b2].CurrentRegion.Offset(1).ClearContents.
BÁO LỖI[/Thongbao]
:
 

File đính kèm

Upvote 0

Bài viết mới nhất

Back
Top Bottom