Tách file nguồn thành nhiều file dựa vào điều kiện (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

HTN033

Thành viên mới
Tham gia
24/2/19
Bài viết
12
Được thích
0
Chào Mọi Người,
Hiện tại mình có 1 file cần tách ra nhiều file dựa vào 2 cột điều kiện và tách ra nhiều file riêng biệt hoặc 1 file excel mà nằm ở nhiều sheets dựa vào điều kiện.
Điều kiện: nằm ở cột R & cột S ( thỏa điều kiện gom chung thành 1 sheets ) như sheet mẫu nhé.
Do sheet nguồn mình khá nhiều nên không thể Filter để copy được.
Nhờ các anh chị hỗ trợ giúp.

Cảm ơn rất nhiều.
HTN033. Cảm ơn
 

File đính kèm

Bạn Record Macro quá trình Filter > copy một lần rồi thêm vòng lặp cho các lần còn lại là được.
Cảm ơn bạn nhiều mình làm được cái đó nhưng dữ liệu mình nhiều nên làm xong chạy file rất chậm nên mình đăng bài này để nhờ có code VBA để file nhanh hơn.

Cảm ơn.
 
Cảm ơn bạn nhiều mình làm được cái đó nhưng dữ liệu mình nhiều nên làm xong chạy file rất chậm nên mình đăng bài này để nhờ có code VBA để file nhanh hơn.
Cảm ơn.
Record Macro chính là VBA đó bạn, nếu chạy chậm thì bạn đưa phần làm được rồi mà chạy chậm lên đây cho các thành viên diễn đàn xem thử, biết đâu có thể cải thiện tốc độ cho bạn.
 
bạn đã biết record marco thì nên nhờ AI để nó tối ưu code cho hoặc đặt đề bài cho AI làm luôn
Ngoài ra nên đặt tên sheet không chứa dấu tiếng việt
Ví dụ câu hỏi cho AI
"excel 2016, mình muốn dùng vba tách sheet "Sheet Nguon" với bảng dữ liệu ở vùng A1:Q.. (Số lượng dòng thay đổi, được xác định theo cột P), lọc theo cột P. Từng giá trị ở cột P tạo cho mình 1 file excel mới, đặt tên theo file cũ và đuôi là giá trị ở cột P."
 
Chào Mọi Người,
Hiện tại mình có 1 file cần tách ra nhiều file dựa vào 2 cột điều kiện và tách ra nhiều file riêng biệt hoặc 1 file excel mà nằm ở nhiều sheets dựa vào điều kiện.
Điều kiện: nằm ở cột R & cột S ( thỏa điều kiện gom chung thành 1 sheets ) như sheet mẫu nhé.
Do sheet nguồn mình khá nhiều nên không thể Filter để copy được.
Nhờ các anh chị hỗ trợ giúp.

Cảm ơn rất nhiều.
HTN033. Cảm ơn
Điều kiện lọc:

1746602509482.png

Rồi chạy code sau thử:

Mã:
Sub LocDL()
    Dim strSQL As String
    strSQL = "SELECT * FROM [" & Sheet1.Name & "$A1:Q] Where F16 In (Select F1 from [" & Sheet1.Name & "$R2:S100] Where F2 Like "
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=""Excel 12.0;HDR=No"";Data Source=" & ThisWorkbook.FullName
        Sheet2.Range("A2").CopyFromRecordset .Execute(strSQL & "'Bac' )")
        Sheet3.Range("A2").CopyFromRecordset .Execute(strSQL & "'Nam' )")
    End With
 
End Sub
 
Web KT

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

Back
Top Bottom