Nhờ Anh chị giúp lọc giữ liệu trùng và tính tổng bằng code VbA

Liên hệ QC

shnhatha221108

Thành viên chính thức
Tham gia
2/10/18
Bài viết
57
Được thích
11
Em có file gồm DL1 muốn lọc dự liệu ở cột "A" mục "1包装必要" rồi copy dữ liệu cột "C",Cột ngày tháng "Ô"và cột số lượng "N" sang một sheet khác rồi lọc trùng sao cho số lượng được tính tổng theo từng mã sản phẩm:(em đã thử làm theo pp thủ công nhưng code nặng và chạy chậm quá)
Vậy mong anh chi giúp đỡ..E xin cảm ơn!
 

File đính kèm

  • THDL_.xlsm
    2.5 MB · Đọc: 9
Em có file gồm DL1 muốn lọc dự liệu ở cột "A" mục "1包装必要" rồi copy dữ liệu cột "C",Cột ngày tháng "Ô"và cột số lượng "N" sang một sheet khác rồi lọc trùng sao cho số lượng được tính tổng theo từng mã sản phẩm:(em đã thử làm theo pp thủ công nhưng code nặng và chạy chậm quá)
Vậy mong anh chi giúp đỡ..E xin cảm ơn!
Sao bạn không dùng PivotTable cho tiện. Muốn người ta giúp VBA thì phải bỏ Pass nhé bạn.
 
Upvote 0
Xin lỗi anh..Em quên..em đã sửa và bỏ pass rồi..anh giúp hộ
Bạn dùng thử code sau nhé.

Mã:
Sub TongHop()
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
        Sheet7.Range("A2").CopyFromRecordset .Execute("Select F1,F3,F15,sum(F14) from [DL1$] where F1 like '" & Sheet7.[F2] & "' group by F1,F3,F15")
    End With
End Sub
 

File đính kèm

  • THDL.xlsm
    2.3 MB · Đọc: 36
Upvote 0
Bạn dùng thử code sau nhé.

Mã:
Sub TongHop()
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
        Sheet7.Range("A2").CopyFromRecordset .Execute("Select F1,F3,F15,sum(F14) from [DL1$] where F1 like '" & Sheet7.[F2] & "' group by F1,F3,F15")
    End With
End Sub

Chào anh Hai Lúa..rất cảm ơn anh về đoạn mã code.Em đã áp dụng cho công việc của em nhưng gặp một vấn đề:Khi lọc lấy dữ liệu về thì vị trí xắp xếp lẫn lộn linh tinh..vậy anh có giải pháp nào giúp em lọc được dữ liệu theo đúng thứ tự không a.
Xin cảm ơn anh..
 
Upvote 0
Chào anh Hai Lúa..rất cảm ơn anh về đoạn mã code.Em đã áp dụng cho công việc của em nhưng gặp một vấn đề:Khi lọc lấy dữ liệu về thì vị trí xắp xếp lẫn lộn linh tinh..vậy anh có giải pháp nào giúp em lọc được dữ liệu theo đúng thứ tự không a.
Xin cảm ơn anh..
Về vị trí sắp xếp thì nó sẽ tự động sắp xếp lại. Nếu bạn chưa thỏa mãn với cách sắp xếp của nó thì bạn có thể sắp xếp lại tùy ý bằng cách thêm Order By và tên cột cần sắp xếp vào cuối cùng của câu truy vấn.
 
Upvote 0
Về vị trí sắp xếp thì nó sẽ tự động sắp xếp lại. Nếu bạn chưa thỏa mãn với cách sắp xếp của nó thì bạn có thể sắp xếp lại tùy ý bằng cách thêm Order By và tên cột cần sắp xếp vào cuối cùng của câu truy vấn.

Em mới tập làm quen với VBa lên không được thạo nắm :Em muốn Sắp xếp cột B theo từng chủng loại giống nhau và có ngày ở cột D từ trước đến sau..(Em có gửi file đính kèm ở trên nhờ anh chỉnh sửa giúp)
Cảm ơn anh..!
 
Upvote 0
Em mới tập làm quen với VBa lên không được thạo nắm :Em muốn Sắp xếp cột B theo từng chủng loại giống nhau và có ngày ở cột D từ trước đến sau..(Em có gửi file đính kèm ở trên nhờ anh chỉnh sửa giúp)
Cảm ơn anh..!
Cột B và cột C chứ, phải không bạn?


Mã:
Sub TongHop()
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
        Sheet7.Range("A2").CopyFromRecordset .Execute("Select F1,F3,F15,sum(F14) from [DL1$] where F1 like '" & Sheet7.[F2] & "' group by F1,F3,F15 order by F3,F15")
    End With
End Sub

Hoặc có thể chỉnh thứ tự Field cần gom nhóm.
 
Upvote 0
Upvote 0
Bạn dùng thử code sau nhé.

Mã:
Sub TongHop()
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
        Sheet7.Range("A2").CopyFromRecordset .Execute("Select F1,F3,F15,sum(F14) from [DL1$] where F1 like '" & Sheet7.[F2] & "' group by F1,F3,F15")
    End With
End Sub
Lại muốn nhờ anh chút..E dùng đoạn mã code để lọc dữ liệu về..nhưng không hiểu sao không lấy được nguyên định dạng..(ký tự số thì chuyển thành dạng text ) Anh giúp hộ ..
 
Lần chỉnh sửa cuối:
Upvote 0
Lại muốn nhờ anh chút..E dùng đoạn mã code để lọc dữ liệu về..nhưng không hiểu sao không lấy được nguyên định dạng..(ký tự số thì chuyển thành dạng text ) Anh giúp hộ ..
Field nào bạn muốn chuyển về dạng Number thì dùng hàm Val nhé.
 
Upvote 0
Field nào bạn muốn chuyển về dạng Number thì dùng hàm Val nhé.
Field nào bạn muốn chuyển về dạng Number thì dùng hàm Val nhé.
Mã Dữ liệu (Ký Hiệu tên hàng) của em bao gồm cả ký hiệu số lẫn chữ ở file gốc lên không đồng nhất.Nếu dùng hàm Value thì một số mã hàng sẽ lại thay đổi theo..Liệu có giải pháp nào khác không ạ?
 
Upvote 0
Mã Dữ liệu (Ký Hiệu tên hàng) của em bao gồm cả ký hiệu số lẫn chữ ở file gốc lên không đồng nhất.Nếu dùng hàm Value thì một số mã hàng sẽ lại thay đổi theo..Liệu có giải pháp nào khác không ạ?
Dùng ADO thì quan trọng là quy định kiểu dữ liệu cho từng Field. Việc dữ liệu không đồng nhất thì phải chịu thôi bạn.
 
Upvote 0
Web KT
Back
Top Bottom