Vui lòng giúp công thức hoặc VBA khi kiểm kê (1 người xem)

Liên hệ QC

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

tranphuson

Thành viên thường trực
Tham gia
14/8/09
Bài viết
268
Được thích
10
Giới tính
Nam
Mình có file kiểm kê cần giúp công thức hoặc VBA:

1. Dò tìm ở dòng có chữ "Total" mà có số tổng = 0 thì sẽ hide (ẩn đi) từ dữ liệu có số = 0 cho tới dòng có chữ "Total"

2. Nếu dòng có chữ "...Total" mà có số tổng lớn hoặc nhỏ hơn 0 thì sẽ lọc ra hiện ra dữ liệu từ cột A đến cột J

File đính kèm chi tiết minh họa nội dung.

Xin cảm ơn
 

File đính kèm

Không biết dữ liệu của bạn có lớn không?! Tham khảo file này xem.
 

File đính kèm

Mình đã sử dụng được và đúng rồi. Nếu dữ liệu nhiều hơn mình sẽ chỉnh thêm dòng trong VBA

Cảm ơn bạn đã hỗ trợ
Code mang tính chất tham khảo, bạn tự phát triển thêm nếu thêm các điều kiện khác. Nếu dữ liệu lớn hoặc cấu trúc thay đổi thì dùng nhiều vòng lặp lồng nhau sẽ xử lý rất chậm.
 
Code mang tính chất tham khảo, bạn tự phát triển thêm nếu thêm các điều kiện khác. Nếu dữ liệu lớn hoặc cấu trúc thay đổi thì dùng nhiều vòng lặp lồng nhau sẽ xử lý rất chậm.
Mình thì không rành về VBA nên hôm qua thêm dữ liệu 2,000 dòng là file này chạy rất chậm. Nếu có thể bạn giúp mình phát triển thêm để chạy nhanh hơn thì quá tốt.

Cảm ơn bạn trước
 
Mình thì không rành về VBA nên hôm qua thêm dữ liệu 2,000 dòng là file này chạy rất chậm. Nếu có thể bạn giúp mình phát triển thêm để chạy nhanh hơn thì quá tốt.

Cảm ơn bạn trước
Vậy bạn up file mẫu lên. Cứ làm tù mù lại không đúng yêu cầu
 
File nặng thêm ở phần công thức cột A. Mình thử trên 30k dòng thấy chạy vẫn ổn.
 

File đính kèm

Mình phát hiện ra là khi nhấn vào nút "Hiện" ở file này thì nó hiện ra từng dòng, từng dòng chứ không hiện ra toàn bộ dữ liệu đã ẩn
Thay vì ẩn thử filter xem
Mã:
Sub Macro1()
    ActiveSheet.Range("$A$1:$J$1950").AutoFilter Field:=9, Criteria1:=">0", _
        Operator:=xlAnd
End Sub
 
Thay vì ẩn thử filter xem
Mã:
Sub Macro1()
    ActiveSheet.Range("$A$1:$J$1950").AutoFilter Field:=9, Criteria1:=">0", _
        Operator:=xlAnd
End Sub
Cảm ơn bạn đã hỗ trợ, nhưng lúc unhide dữ liệu thì phải nhấn vào chỗ đang filter và mở ra chứ không có đoạn code VBA nào nhấn vào là Hide và nhấn lần 2 là unhide chứ?
 

File đính kèm

Sử dụng ToggleButton thay vì Command button
Cảm ơn bạn đã hỗ trợ. Nhưng chưa đúng theo yêu cầu là file của bạn ẩn luôn những dòng có số >0 và nhỏ <0

Nếu dòng có chữ "...Total" mà có số tổng lớn hoặc nhỏ hơn 0 thì sẽ lọc ra hiện ra dữ liệu từ cột A đến cột J

Ví dụ: từ dòng 19 đến 25 (Số STT từ 13 -> 18 và dòng "... Total") có số lượng >0 hoặc <0 thì phải hiện tất cả các dòng này ra từ dòng 19 đến dòng 25 mới đùng => Mục đích đi kiểm kê lại những vị trí có mã hàng này

1729738190788.png
 
Thử thay Criteria1:=">0" bằng Criteria1:="<>0" coi có sài được không?
 

File đính kèm

Góp vui .
Vẫn lấy code của bạn @ngocbaovu sửa lại tý chút thôi (Thay vì ẩn từng dòng, dùng Union ẩn 1 lần)
Cảm ơn đã hỗ trợ và file này click vào thấy nhanh hơn
Bài đã được tự động gộp:

Thêm 1 cách khác tham khảo
Xin cảm ơn
Bài đã được tự động gộp:

Thử thay Criteria1:=">0" bằng Criteria1:="<>0" coi có sài được không?
Cảm ơn đã chỉ thêm cách này
 
Web KT

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

Back
Top Bottom