Lọc sản phẩm ở nhiều sheet và lưu thành file riêng

Liên hệ QC

camlam06

Thành viên mới
Tham gia
23/9/10
Bài viết
14
Được thích
1
Em xin chào cách anh/chị, em có một vấn đề với việc lọc, tách, lưu file, và em có tìm kiếm trên diễn đàn, có một số chủ đề đã bàn luận gần giống với vấn đề của em, nhưng do bài đã cách mấy năm. Nên em xin phép đăng mới ở đây, nếu không phải, xin nhờ ad chuyển giùm vào chủ đề đúng giúp em.
Em có một file gồm 3 sheet (file thực tế nhiều hơn) là Xuất, Nhập, Tồn. Ở mỗi sheet sẽ có 3 sản phẩm (thực tế nhiều hơn). Em cần lọc theo từng sản phẩm một ở cả 3 sheet, nghĩa là mỗi file chỉ để 1 sản phẩm, các sản phẩm còn lại sẽ bị xóa đi, sau đó lưu thành file riêng có tên file, sản phẩm được giử lại tương ứng. "File Gốc" không bị thay đổi. Có bao nhiêu sản phẩm tách ra bấy nhiêu file. Chi tiết em trình bày rõ trong sheet "Yêu cầu" của file "File Gốc"
Mong các anh/chị trong diễn đàn hướng dẫn giúp em, đặc biệt là các anh/chị lão làng như anh ndu96081631, BNTT......... Em cảm ơn !
 

File đính kèm

  • File Gốc.xlsx
    416.9 KB · Đọc: 28
  • SP1.xlsx
    11.5 KB · Đọc: 10
  • SP2.xlsx
    11.4 KB · Đọc: 5
  • SP3.xlsx
    11.4 KB · Đọc: 4
Ngoài cách anh Hai Lúa bạn tham khảo thử file này xem có đúng ý không.
 

File đính kèm

  • File Gốc.xlsm
    427.5 KB · Đọc: 18
Upvote 0
Ở #9 anh Hai Lúa đã giải quyết, code chạy rất nhanh, nhưng vấn đề em gặp là file temp không thể định dạng được, tương tự như ở #19 đang thắc mắc. Ý em là có cách nào vẫn duy trì được định dạng file temp như file gốc không ?

Ừm không thấy anh ấy nói gì thì một là anh ấy bận hai là ado nó không cho thế.
 
Upvote 0
Cách này ổn chỉ phải cái chạy hơi chậm. của mình dữ liệu 5000 dòng 23 cột chạy đơ luôn :((
Ơ, bạn với chủ Topic cùng chung bài hỏi ah? Dữ liệu của bạn có công thức không?

Update:

Update luôn vậy, bạn kẹp 2 dòng này 1 ở đầu sub, 1 ở cuối sub
Mã:
'Đầu sub
Application.Calculation = xlCalculationManual 


.......code


'Cuối sub
Application.Calculation = xlCalculationAutomatic
 
Lần chỉnh sửa cuối:
Upvote 0
Ơ, bạn với chủ Topic cùng chung bài hỏi ah? Dữ liệu của bạn có công thức không?

Update:

Update luôn vậy, bạn kẹp 2 dòng này 1 ở đầu sub, 1 ở cuối sub
Mã:
'Đầu sub
Application.Calculation = xlCalculationManual


.......code


'Cuối sub
Application.Calculation = xlCalculationAutomatic


Ừm của mình không có một dòng công thức nào cả. Cái ADO rất hay ở khoản xử lý mau lẹ mỗi tội nó không tự định dạng được. Nếu có code nào tự duyệt file đang đóng và định dạng theo vùng thì tốt quá :)
 
Upvote 0
Ừm của mình không có một dòng công thức nào cả. Cái ADO rất hay ở khoản xử lý mau lẹ mỗi tội nó không tự định dạng được. Nếu có code nào tự duyệt file đang đóng và định dạng theo vùng thì tốt quá :)
Bạn làm theo hướng dẫn bài #24 và phản hồi lại tôi nhé.
 
Upvote 0
Bạn làm theo hướng dẫn bài #24 và phản hồi lại tôi nhé.

Vì code của bạn làm được mọi thứ nên mình có áp dụng thêm ở chủ đề tăng tốc code nhưng không thấy hiệu quả.
PHP:
\
With Application
     .Calculation = xlCalculationManual
     .ScreenUpdating = False
     .EnableEvents = False
     .DisplayAlerts = False
     .Cursor = xlWait
     .StatusBar = StatusBarMsg
     .EnableCancelKey = xlErrorHandler
   End With
 
Upvote 0
Tôi quên mất sự kiện Save, bạn thử lần nữa nhé
Mã:
'Đầu sub
Application.CalculateBeforeSave = False

...Code

'Cuối sub
Application.CalculateBeforeSave = True
 
Upvote 0
Vấn đề định dạng em nghĩ có thể dùng VBA trên file temp, và VBA chỉ chạy định dạng lại trước khi đóng (Workbook_BeforeClose)
 
Upvote 0
Vấn đề định dạng em nghĩ có thể dùng VBA trên file temp, và VBA chỉ chạy định dạng lại trước khi đóng (Workbook_BeforeClose)

Vậy code đó ở trong file temp hay là file chứa dữ liệu nguồn bạn? Ý tưởng hay. Mình làm thử trên temp thì không có tác dụng chứng tỏ workbook không mở.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom