Giúp mình lọc ra các hộ trong thôn chưa nhận quà tặng

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vanhoangquy

Thành viên mới
Tham gia
19/10/10
Bài viết
30
Được thích
9
Mình có 1 file excel, trong đó: "sheet: DS 1" là danh sách các hộ dân trong thôn thuộc 2 đối tượng XX và XY (có tên tất cả các thành viên trong hộ). Mình muốn tạo danh sách các hộ chưa nhận quà từ sheet DS 1. Nhờ các bạn giúp đỡ, mình xin cảm ơn ạ
 

File đính kèm

  • Loc cac ho chua nhan qua.xlsx
    30.4 KB · Đọc: 20
Tạm thời chỉ mới tới đây;
Sau 19h nay sẽ tiếp nếu cuộc nhậu liên tỉnh không làm ảnh hường

PHP:
Sub DanhSachNhanQua()
 Dim Rng As Range, Cls As Range
 Dim Rws As Long, J As Long, lRw As Long
 
 With Sheets("DS 1")
    Rws = [C9999].End(xlUp).Row
    For J = 3 To Rws
        If .Cells(J, "A").Value <> Space(0) Then
            lRw = .Cells(J, "A").End(xlDown).Offset(-1).Row
            If lRw > Rws Then lRw = Rws
            Set Rng = .Range(.Cells(J, "A"), .Cells(lRw, "A"))          '.Resize(, 10)  '
            For Each Cls In Rng.Offset(, 9)
                If Cls.Value <> Space(0) Then
                    MsgBox "Không Chép Vùng Này: " & Rng.Address, , "Xin Chào!"
                    Exit For
                End If
            Next Cls
        End If
    Next J
 End With
End Sub
 
Upvote 0
Tạm thời chỉ mới tới đây;
Sau 19h nay sẽ tiếp nếu cuộc nhậu liên tỉnh không làm ảnh hường

PHP:
Sub DanhSachNhanQua()
 Dim Rng As Range, Cls As Range
 Dim Rws As Long, J As Long, lRw As Long
 
 With Sheets("DS 1")
    Rws = [C9999].End(xlUp).Row
    For J = 3 To Rws
        If .Cells(J, "A").Value <> Space(0) Then
            lRw = .Cells(J, "A").End(xlDown).Offset(-1).Row
            If lRw > Rws Then lRw = Rws
            Set Rng = .Range(.Cells(J, "A"), .Cells(lRw, "A"))          '.Resize(, 10)  '
            For Each Cls In Rng.Offset(, 9)
                If Cls.Value <> Space(0) Then
                    MsgBox "Không Chép Vùng Này: " & Rng.Address, , "Xin Chào!"
                    Exit For
                End If
            Next Cls
        End If
    Next J
 End With
End Sub
Em thử nhưng ko được. Bác xem lại giúp em với
 
Upvote 0
Như người Miền nam hay nói, thì câu trao đổi của bạn là 'trớt quớt'
Nó thể hiện ở 2 khía cạnh như sau:

(1) Thử như thế nào mà không được, & được phải là như thế nào?
Mình đã viết & bạn cần ngầm hiểu đó chỉ là bước tạo ván dậm nhảy thôi mà (Trong nhảy xa, nhảy cao hay 3 bước) (& hoàn toàn không phải chuyện nhảy cầu trong mùa banh thế giới đâu nha!)
Khi cho macro chạy bạn nhận được những họp thoại không? Bạn biết hay ghi lại nội dung các họp thoại không?

(2) 'NẢN' rồi, khi nào nguôi sẽ thực hiện tiếp phần còn lại của công việc;

Mong sẽ có người sớm giúp bạn toại nguyện!
 
Upvote 0
Như người Miền nam hay nói, thì câu trao đổi của bạn là 'trớt quớt'
Nó thể hiện ở 2 khía cạnh như sau:

(1) Thử như thế nào mà không được, & được phải là như thế nào?
Mình đã viết & bạn cần ngầm hiểu đó chỉ là bước tạo ván dậm nhảy thôi mà (Trong nhảy xa, nhảy cao hay 3 bước) (& hoàn toàn không phải chuyện nhảy cầu trong mùa banh thế giới đâu nha!)
Khi cho macro chạy bạn nhận được những họp thoại không? Bạn biết hay ghi lại nội dung các họp thoại không?

(2) 'NẢN' rồi, khi nào nguôi sẽ thực hiện tiếp phần còn lại của công việc;

Mong sẽ có người sớm giúp bạn toại nguyện!
Bác đừng hiểu lầm ạ. Em không có ý gì cả đâu. Được bác hỗ trợ em rất mừng nhưng thực sự là em cũng áp dụng như lâu nay (ấn ALT + f11 để dán đoạn macro bác cho rồi f5) mà không thấy ra kết quả gì nên em nhờ bác xem lại giúp em ạ.
 
Upvote 0
→←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→←→←→← →←→←

[Đã thay file mới lúc 21h36 ]
 

File đính kèm

  • Filter.rar
    36.9 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
→←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→←→←→← →←→←
Đi nhậu đã bác, các chiến hữu đang chờ.
Bác đừng hiểu lầm ạ. Em không có ý gì cả đâu. Được bác hỗ trợ em rất mừng nhưng thực sự là em cũng áp dụng như lâu nay (ấn ALT + f11 để dán đoạn macro bác cho rồi f5) mà không thấy ra kết quả gì nên em nhờ bác xem lại giúp em ạ.
Đang lọc sơ bộ, cứ bình tĩnh đã.
 
Upvote 0
Mình có 1 file excel, trong đó: "sheet: DS 1" là danh sách các hộ dân trong thôn thuộc 2 đối tượng XX và XY (có tên tất cả các thành viên trong hộ). Mình muốn tạo danh sách các hộ chưa nhận quà từ sheet DS 1. Nhờ các bạn giúp đỡ, mình xin cảm ơn ạ

Số TT hộ đánh không theo quy luật tăng dần.

Trong hộ có 1 người nhận như: chủ hộ, vợ, con, dâu, cháu ... đều được tính là có nhận.

.
 
Upvote 0
(2) Số TT hộ đánh không theo quy luật tăng dần.

(1)Trong hộ có 1 người nhận như: chủ hộ, vợ, con, dâu, cháu ... đều được tính là có nhận.
.
(1) Đúng vậy;

(2) Không phải là không theo qui luật, mà là: Trùng nhau các số thứ tự từ 1 đến 9
Vấn đề của tác giả bài đăng không quan tâm đến các số TT này; Có gì thỏa điều kiện thì đem qua trang kết quả nấy.
 
Upvote 0
Mình có 1 file excel, trong đó: "sheet: DS 1" là danh sách các hộ dân trong thôn thuộc 2 đối tượng XX và XY (có tên tất cả các thành viên trong hộ). Mình muốn tạo danh sách các hộ chưa nhận quà từ sheet DS 1. Nhờ các bạn giúp đỡ, mình xin cảm ơn ạ
Bạn thử tham khảo. .
 

File đính kèm

  • Loc cac ho chua nhan qua .xlsb
    337.4 KB · Đọc: 12
Upvote 0
Số TT hộ đánh không theo quy luật tăng dần.

Trong hộ có 1 người nhận như: chủ hộ, vợ, con, dâu, cháu ... đều được tính là có nhận.

.
Vâng, số thứ tự tăng dần theo nhóm đối tượng XX và XY ạ (trong bảng có 9 hộ thuộc đối tượng XX và 24 hộ thuộc đối tượng XY). Hộ có 1 người nhận quà được tính là "Hộ đã nhận quà"
Bài đã được tự động gộp:

Cảm ơn bác, file bác gửi em chạy thấy được rồi ạ
 
Lần chỉnh sửa cuối:
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Vâng, số thứ tự tăng dần theo nhóm đối tượng XX và XY ạ (trong bảng có 9 hộ thuộc đối tượng XX và 24 hộ thuộc đối tượng XY). Hộ có 1 người nhận quà được tính là "Hộ đã nhận quà"
Đã thấy côt Đối tượng, thử code này"
Mã:
Sub DanhSachChuaNhanQua()
 Dim lr&, i&, j&, k&, Sarr As Variant, Rarr As Variant
 Dim Dic As Object, ID$
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("DS 1")
    lr = .Range("B" & Rows.Count).End(xlUp).Row
    Sarr = .Range("A3:K" & lr).Value
    ReDim Rarr(1 To lr, 1 To 10)
End With

    For i = 1 To UBound(Sarr, 1)
        If Sarr(i, 1) <> "" Then ID = Sarr(i, 1) & Sarr(i, 8)  ' ghi so ID
            Sarr(i, 11) = ID
        If Sarr(i, 10) <> "" Then Dic.Item(ID) = "Da nhan qua" ' Da nhan qua

    Next i
 
    ' trich loc
    For i = 1 To UBound(Sarr, 1)
        If Dic.Exists(Sarr(i, 11)) = False Then
            k = k + 1
            For j = 1 To 10
                Rarr(k, j) = Sarr(i, j)
            Next j
        End If
    Next i
With Sheets("DS cac ho chua nhan qua")
    ' xoa du lieu
    .UsedRange.Offset(2).ClearContents
    ' ghi ket qua
    If k > 0 Then .Range("A3").Resize(k, 10) = Rarr

End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom