A ơi, lại nhờ a 1 chút xíu. Hôm trước a đã hỗ trợ đoạn Code để có thể lấy tên File. Nhưng a giúp thêm cách viết đoạn Code như thế nào để có thể tự xóa đi phần Filter đang có trong File Excel mình cần Copy dữ liệu. Vì khi chạy đoạn Code ở FIle đính kèm, do File nguồn đang để chế độ Filter nên dữ liệu copy không hết. Mình có gửi 2 File đang xử lý. mong được tự vấn ạ
Chào bạn link đang bị lỗi bạn nhé.
Mình xin gửi lại
Bạn có thể thêm lệnh
WB_select.Sheets("COSTING").ShowAllData
để bỏ chế độ lọc trước khi lấy dữ liệu để tránh lỗi sheet đang ở chế độ lọc và copy thiếu dữ liệu.
dạ, cảm ơn a nhiều. khi thêm đoạn Code này vào thì phần có lọc đã bị bỏ, nhưng File nào không có lọc thì lại báo lỗi.
Mình thêm đoạn Code này như dưới đây:
'Xac dinh dong cuoi
Dim dongcuoi_WB2 As Long
WB_select.Sheets("COSTING").ShowAllData
dongcuoi_WB2 = WB_select.Sheets("COSTING").Range("A" & Rows.Count).End(xlUp).Row
'xac dinh khoang cach so dong du lieu
Dim dongdau_WB2 As Long
dongdau_WB2 = 10
Dim khoangcach_WB2 As Long
khoangcach_WB2 = dongcuoi_WB2 - dongdau_WB2 + 1 'Luu y phai cong them 1
Nếu các file không đồng nhất về việc sử dụng chức năng lọc thì bạn có thể thay bằng lệnh tắt/mở chức năng Auto Filter. Việc này cũng giúp xóa bỏ các điều kiện lọc.
Nhưng lưu ý là lệnh áp dụng tắt/mở auto filter sẽ tính theo Range(...) nên bạn cần phải kiểm soát vùng range nào sẽ áp dụng bộ lọc.
Việc sử dụng auto filter thường dễ gây lỗi như vậy nên bạn có thể đồng nhất các file: nếu có dùng auto filter thì tất cả các file đều dùng, và dùng trên vùng ô giống nhau (có số cột giống nhau, chỉ khác nhau ở dòng cuối)