Advanced Filter không ra kết quả với VBA (1 người xem)

Liên hệ QC

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

tuanqnbd

Thành viên chính thức
Tham gia
20/5/07
Bài viết
75
Được thích
106
Chào các anh/chị

Mình thử dùng Advance Filter với VBA thì không ra kết quả (trống) mặc dù chạy lọc tay bang Advance Filter thì lại ra

Đã kiểm tra code nhưng không biết sai ở chỗ nào. Rất mong các anh/chị hỗ trợ giúp trong file đính kèm

Mình đang sử dung Excel 2013

Trân trọng cám ơn
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các anh/chị

Mình thử dùng Advance Filter với VBA thì không ra kết quả (trống) mặc dù chạy lọc tay bang Advance Filter thì lại ra

Đã kiểm tra code nhưng không biết sai ở chỗ nào. Rất mong các anh/chị hỗ trợ giúp trong file đính kèm

Mình đang sử dung Excel 2013

Trân trọng cám ơn
Mình thấy chạy tay có ra kq đâu. Mình thấy vùng đk có công thức nên nó ko chạy. Bạn nên copy và paste value và chạy thử xem
 
Upvote 0
ủa sao mình bấm nút có ra kết quả mà

a9482b5ace7caae434ecce8917a07ca5.png
 
Upvote 0
Chắc có trục trặc gì với các ohieen bản EXCel, bạn chạy excel mấy, của mình là 2013
ngay cả record khi chạy tay xong run cái sub mới record cũng kg dc
thật là chưa gặp bao h
 
Upvote 0
Ai lọc không ra kết quả có thể do dấu phân cách thập phân của cột lãi suất trong vùng điều kiện khác với dấu phân cách thập phân mà Excel đang dùng (như hình).
Có thể file này công thức cột lãi suất trong vùng điều kiện được lập ở một máy sử dụng dấu phân cách thập phân là dấu phẩy (,), khi mở ở một máy sử dụng dấu phân cách thập phân là dấu chấm (.) chúng không được tính toán lại kết quả kể cả khi nhấn F9 (trên Excel 2007 những ô mà kết quả của công thức trả về là một chuỗi đều bị như thế, các phiên bản sau thì không biết có khắc phục vấn đề này không).
Trong trường hợp của bạn, có thể sửa công thức ô P2 sheet DATA lại như sau để tránh trường hợp này.
Mã:
=">"&TEXT(VLOOKUP(M2;Input!$A$2:$D$22;IF(N2="G1";3;4);0);"0%")
Capture.jpg
 
Upvote 0
Quá chuẩn, Cảm ơn bác Huuthang_bd
Thấy điện thoại báo có bác comment là mừng rồi, vì thế nào bác cũng có giải pháp
 
Upvote 0
Cảm phiền hỏi thêm bác Huuthang_bd cái này tí

Định dạng "0%" đã giải quyết các trường hợp decimal là dấu "." hoặc ","
Đối với tiền VNĐ thì ok rồi. Tuy nhiên trường hợp USD, hiện tại trong data của mình có rất nhiều trường hợp đang cài đặt phần lãi suất là 0,000001% (dấu thập phân là ,). Cái này là hợp lệ, mặc dù trần lãi suất là 0%.

Do đó, với định dạng "0%", các khoản USD sẽ vẫn hiện ra vì 0,000001%>0

=> Có cách nào lọc và bỏ qua các khoản USD đang có lãi suất là 0,000001% kg? (vì các khoản này đang xem là hợp lệ). Mình đã thử đặt trần là 0,0001% vẫn không được.

Thậm chí mình đã thử đặt một name là DecimalText =if(iserr(find(".";text(0,3;"0.0");",";".") để tự động lấy ra dấu thập phân đang áp dụng. Sau đó đưa vào định dạng Text(....,"0"&decimalText&"0000000%") nhưng vẫn không được.

Rất mong các bác có cao kiến gì xử lý vấn đề này không

Cám ơn
 
Upvote 0
Cảm phiền hỏi thêm bác Huuthang_bd cái này tí

Định dạng "0%" đã giải quyết các trường hợp decimal là dấu "." hoặc ","
Đối với tiền VNĐ thì ok rồi. Tuy nhiên trường hợp USD, hiện tại trong data của mình có rất nhiều trường hợp đang cài đặt phần lãi suất là 0,000001% (dấu thập phân là ,). Cái này là hợp lệ, mặc dù trần lãi suất là 0%.

Do đó, với định dạng "0%", các khoản USD sẽ vẫn hiện ra vì 0,000001%>0

=> Có cách nào lọc và bỏ qua các khoản USD đang có lãi suất là 0,000001% kg? (vì các khoản này đang xem là hợp lệ). Mình đã thử đặt trần là 0,0001% vẫn không được.

Thậm chí mình đã thử đặt một name là DecimalText =if(iserr(find(".";text(0,3;"0.0");",";".") để tự động lấy ra dấu thập phân đang áp dụng. Sau đó đưa vào định dạng Text(....,"0"&decimalText&"0000000%") nhưng vẫn không được.

Rất mong các bác có cao kiến gì xử lý vấn đề này không

Cám ơn

Bạn đặt trần LS là 0,0001%, sau đó sửa công thức lại như sau:
Mã:
=">"&(VLOOKUP(M2;Input!$A$2:$D$22;IF(N2="G1";3;4);0)+NOW()*0)
 
Upvote 0
Vẫn kg dc, ra 02 kết quả khác nhau
Cảm ơn anyway
 
Upvote 0
Web KT

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

Back
Top Bottom