Nhờ mọi người tạo giúp chương trình lọc dữ liệu sang một Sheets mới (1 người xem)

Liên hệ QC

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

baquang1984

Thành viên tiêu biểu
Tham gia
3/6/10
Bài viết
429
Được thích
44
Nghề nghiệp
Kỹ sư Lâm nghiệp
Em có dữ liệu của một xã bao gồm rất nhiều hộ gia đình, cá nhân và các thông tin liên quan đến chủ hộ gia đình, cá nhân đó nên khi tạo một danh sách các hộ theo mẫu phiếu em gửi thì làm thủ công từng hộ một lâu quá. Nên gửi dữ liệu lên diễn đàn nhờ các anh chị, thầy cô và các bạn tạo giúp chương trình lọc lọc dữ liệu từ Sheets"HGD_CN" sang Sheets"KetQua"
Theo mẫu vào kiểu dữ liệu lọc sang như Sheets"KetQua"
Em cảm ơn nhiều ạ!
 

File đính kèm

Em có dữ liệu của một xã bao gồm rất nhiều hộ gia đình, cá nhân và các thông tin liên quan đến chủ hộ gia đình, cá nhân đó nên khi tạo một danh sách các hộ theo mẫu phiếu em gửi thì làm thủ công từng hộ một lâu quá. Nên gửi dữ liệu lên diễn đàn nhờ các anh chị, thầy cô và các bạn tạo giúp chương trình lọc lọc dữ liệu từ Sheets"HGD_CN" sang Sheets"KetQua"
Theo mẫu vào kiểu dữ liệu lọc sang như Sheets"KetQua"
Em cảm ơn nhiều ạ!

là bạn định sắp xếp lại toàn bộ sheet HGD_CN thành sheet kết quả?
hay bạn chỉ muốn lấy một số hộ qua đây?
nếu chỉ lấy một số hộ thì các hô đó ở đâu?
 
Upvote 0
là bạn định sắp xếp lại toàn bộ sheet HGD_CN thành sheet kết quả?
hay bạn chỉ muốn lấy một số hộ qua đây?
nếu chỉ lấy một số hộ thì các hô đó ở đâu?
Em cảm ơn sự góp ý của anh. Ở đây em muốn lọc toàn bộ danh sách bên Sheets"HGD_CN" sang Sheets"KetQua" theo định dạng mà em làm ví dụ ạ
Em cảm ơn anh!
 
Upvote 0
Chào bạn !
Xem file của bạn thấy bảng dữ liệu gốc chưa được tổ chức đúng cách nên không thể áp dụng công cụ lọc PivotTable của excel. Bạn nên tìm hiểu về công cụ này trên diễn đàn để việc lọc dữ liệu sẽ nhẹ nhàng hơn nhiều.
Bạn liên hệ với tôi theo địa chỉ: longlt07@gmail.com tôi sẽ hướng dẫn thêm cho bạn.
 
Upvote 0
Chào bạn !
Xem file của bạn thấy bảng dữ liệu gốc chưa được tổ chức đúng cách nên không thể áp dụng công cụ lọc PivotTable của excel. Bạn nên tìm hiểu về công cụ này trên diễn đàn để việc lọc dữ liệu sẽ nhẹ nhàng hơn nhiều.
Bạn liên hệ với tôi theo địa chỉ: longlt07@gmail.com tôi sẽ hướng dẫn thêm cho bạn.
Vâng em cảm ơn anh ạ! Em cũng tìm hiểu về PivotTable nếu anh có tài liệu nào liên quan đến PivotTable thì có thể gửi cho em xin được không ạ theo địa chỉ mail nguyenbaquang1984@gmail.com
Cảm ơn anh!
 
Upvote 0
Upvote 0
Mong được các thành viên của diễn đàn giúp đỡ viết chương trình code VBA của chương trình này ạ
Em cảm ơn cả nhà nhiều ạ!
 
Upvote 0
Em cảm ơn sự góp ý của anh. Ở đây em muốn lọc toàn bộ danh sách bên Sheets"HGD_CN" sang Sheets"KetQua" theo định dạng mà em làm ví dụ ạ
Em cảm ơn anh!

Với những hộ ko có số CMND thì sao?
không xài tên được, vì bị trùng?
tạm thời ko chơi với mấy chú ko có chứng minh thư
Mã:
Sub tachtheomau()
Dim HGD, KQ(1 To 600000, 1 To 14) As Variant, i, j, k, STT, TONG, CNT As Long, CMND As String

HGD = Sheet1.[A2].Resize(Sheet1.[A6000].End(3).Row, 20)
For i = 1 To UBound(HGD)
If HGD(i, 3) <> "" Then
    If HGD(i, 3) = CMND Then
        k = k + 1
        CNT = CNT + 1
        KQ(k, 7) = HGD(i, 9)
        KQ(k, 8) = HGD(i, 10)
        KQ(k, 9) = HGD(i, 11) 'DTICH
        KQ(k, 10) = HGD(i, 13)
        KQ(k, 11) = HGD(i, 19)
        KQ(k, 12) = HGD(i, 12)
        KQ(k, 13) = HGD(i, 20)
        TONG = KQ(k, 9)
    Else
        If i > 1 Then
            k = k + 1
            KQ(k, 2) = "TONG " & CNT & " HO"
            KQ(k, 9) = TONG  'DTICH
            TONG = 0
        End If
        k = k + 1
        CNT = 1
        STT = STT + 1
        KQ(k, 1) = STT
        KQ(k, 2) = HGD(i, 1)
        KQ(k, 3) = HGD(i, 2)
        KQ(k, 4) = HGD(i, 4)
        KQ(k, 5) = HGD(i, 3)
        KQ(k, 6) = HGD(i, 14)
        KQ(k, 7) = HGD(i, 9)
        KQ(k, 8) = HGD(i, 10)
        KQ(k, 9) = HGD(i, 11) 'DTICH
        KQ(k, 10) = HGD(i, 13)
        KQ(k, 11) = HGD(i, 19)
        KQ(k, 12) = HGD(i, 12)
        KQ(k, 13) = HGD(i, 20)
        TONG = TONG + KQ(k, 9)
    End If
     CMND = HGD(i, 3)
End If
Next
[A3:N60000].ClearContents
[A3].Resize(k, 14) = KQ
End Sub

code chạy trên sheet kết quả nha
 
Upvote 0
Với những hộ ko có số CMND thì sao?
không xài tên được, vì bị trùng?
tạm thời ko chơi với mấy chú ko có chứng minh thư
Mã:
Sub tachtheomau()
Dim HGD, KQ(1 To 600000, 1 To 14) As Variant, i, j, k, STT, TONG, CNT As Long, CMND As String

HGD = Sheet1.[A2].Resize(Sheet1.[A6000].End(3).Row, 20)
For i = 1 To UBound(HGD)
If HGD(i, 3) <> "" Then
    If HGD(i, 3) = CMND Then
        k = k + 1
        CNT = CNT + 1
        KQ(k, 7) = HGD(i, 9)
        KQ(k, 8) = HGD(i, 10)
        KQ(k, 9) = HGD(i, 11) 'DTICH
        KQ(k, 10) = HGD(i, 13)
        KQ(k, 11) = HGD(i, 19)
        KQ(k, 12) = HGD(i, 12)
        KQ(k, 13) = HGD(i, 20)
        TONG = KQ(k, 9)
    Else
        If i > 1 Then
            k = k + 1
            KQ(k, 2) = "TONG " & CNT & " HO"
            KQ(k, 9) = TONG  'DTICH
            TONG = 0
        End If
        k = k + 1
        CNT = 1
        STT = STT + 1
        KQ(k, 1) = STT
        KQ(k, 2) = HGD(i, 1)
        KQ(k, 3) = HGD(i, 2)
        KQ(k, 4) = HGD(i, 4)
        KQ(k, 5) = HGD(i, 3)
        KQ(k, 6) = HGD(i, 14)
        KQ(k, 7) = HGD(i, 9)
        KQ(k, 8) = HGD(i, 10)
        KQ(k, 9) = HGD(i, 11) 'DTICH
        KQ(k, 10) = HGD(i, 13)
        KQ(k, 11) = HGD(i, 19)
        KQ(k, 12) = HGD(i, 12)
        KQ(k, 13) = HGD(i, 20)
        TONG = TONG + KQ(k, 9)
    End If
     CMND = HGD(i, 3)
End If
Next
[A3:N60000].ClearContents
[A3].Resize(k, 14) = KQ
End Sub

code chạy trên sheet kết quả nha
Em cảm ơn anh Let'GâuGâu em đã chạy thử Code của anh có một vấn đề như sau nhờ anh giúp tiếp ạ
- Khi em chạy Code thì hộ cuối cùng của danh sách không tính tổng diện tích và đếm số hồ sơ anh ạ
- Phần tính tổng diện tích ở cột 9 của từng hộ theo số CMND thì không tính tổng mà chỉ lấy diện tích của hàng cuối cùng của hộ đó
- Chương trình chưa tính tổng của toàn bộ cột diện tích anh ạ nghĩa là công diện tích của các hộ vào và ra thêm một hàng diễn tích tổng nữa ạ
Mong anh giúp đỡ ạ!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh Let'GâuGâu em đã chạy thử Code của anh có một vấn đề như sau nhờ anh giúp tiếp ạ
- Khi em chạy Code thì hộ cuối cùng của danh sách không tính tổng diện tích và đếm số hồ sơ anh ạ
- Phần tính tổng diện tích ở cột 9 của từng hộ theo số CMND thì không tính tổng mà chỉ lấy diện tích của hàng cuối cùng của hộ đó
- Chương trình chưa tính tổng của toàn bộ cột diện tích anh ạ nghĩa là công diện tích của các hộ vào và ra thêm một hàng diễn tích tổng nữa ạ
Mong anh giúp đỡ ạ!

ko để người trùng tên gần nhau nha
Mã:
Sub tachtheomau()
Dim HGD, KQ(1 To 600000, 1 To 14) As Variant, i, j, k, STT, Tong, cnt, Ttong, Tcnt As Long, ten, TongHGD As String

HGD = Sheet1.[A2].Resize(Sheet1.[A6000].End(3).Row, 20)
With Sheets("KetQua")
    TongHGD = .[R1].Value
End With
For i = 1 To UBound(HGD)
'If HGD(i, 3) <> "" Then
    If HGD(i, 1) = ten Then
        k = k + 1
        cnt = cnt + 1
        Tcnt = Tcnt + 1
        KQ(k, 7) = HGD(i, 9)
        KQ(k, 8) = HGD(i, 10)
        KQ(k, 9) = HGD(i, 11) 'DTICH
        KQ(k, 10) = HGD(i, 13)
        KQ(k, 11) = HGD(i, 19)
        KQ(k, 12) = HGD(i, 12)
        KQ(k, 13) = HGD(i, 20)
        Tong = Tong + KQ(k, 9)
        Ttong = Ttong + KQ(k, 9)
    Else
        If i > 1 Then
            k = k + 1
            KQ(k, 2) = TongHGD & cnt & " HS"
            KQ(k, 9) = Tong  'DTICH
            Tong = 0
        End If
        k = k + 1
        cnt = 1
        STT = STT + 1
        Tcnt = Tcnt + 1
        KQ(k, 1) = STT
        KQ(k, 2) = HGD(i, 1)
        KQ(k, 3) = HGD(i, 2)
        KQ(k, 4) = HGD(i, 4)
        KQ(k, 5) = HGD(i, 3)
        KQ(k, 6) = HGD(i, 14)
        KQ(k, 7) = HGD(i, 9)
        KQ(k, 8) = HGD(i, 10)
        KQ(k, 9) = HGD(i, 11) 'DTICH
        KQ(k, 10) = HGD(i, 13)
        KQ(k, 11) = HGD(i, 19)
        KQ(k, 12) = HGD(i, 12)
        KQ(k, 13) = HGD(i, 20)
        Tong = Tong + KQ(k, 9)
        Ttong = Ttong + KQ(k, 9)
    End If
     ten = HGD(i, 1)
'End If
Next
k = k + 1
KQ(k, 2) = TongHGD & Tcnt & " HS"
KQ(k, 9) = Ttong

[A3:N60000].ClearContents
[A3].Resize(k, 14) = KQ
End Sub
 
Upvote 0
Em có dữ liệu của một xã bao gồm rất nhiều hộ gia đình, cá nhân và các thông tin liên quan đến chủ hộ gia đình, cá nhân đó nên khi tạo một danh sách các hộ theo mẫu phiếu em gửi thì làm thủ công từng hộ một lâu quá. Nên gửi dữ liệu lên diễn đàn nhờ các anh chị, thầy cô và các bạn tạo giúp chương trình lọc lọc dữ liệu từ Sheets"HGD_CN" sang Sheets"KetQua"
Theo mẫu vào kiểu dữ liệu lọc sang như Sheets"KetQua"
Em cảm ơn nhiều ạ!

Xem thử file này coi sao.
 

File đính kèm

Upvote 0

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

Back
Top Bottom