Viết mã VBA để Ẩn hàng trong Excel nếu hàng đó chứa giá trị False

Liên hệ QC

trantien384

Thành viên mới
Tham gia
23/5/15
Bài viết
14
Được thích
1
Đây là hình ảnh một phần trong bảng tính (khu vực em muốn ẩn các hàng có chứa giá trị False):
True-False.jpg
Mọi ngưởi có thể giúp em làm thế nào để trong Sheet "Toado" khi có sự thay đổi giá trị True hoặc False thì tự động ẩn các dòng có chứa giá trị là False, còn các dòng có chứa giá trị True thì cho hiển thị (chỉ có tác dụng trong phạm vi có chứa giá trị True hoặc False: Dòng 10 đến dòng 27). Ở đây em có thể dùng tính năng Filter của Excel nhưng mỗi lần có sự thay đổi giá trị True hoặc False thì mình phải chọn lại mới có thể ẩn được hàng (Không tự động được).
Nếu có một Sheet khác (Sheet "KTHH") cũng yêu cầu ẩn các hàng có giá trị False trong một phạm vi nào đó của bảng tính thì có thể viết mã VBA chung cho Sheet trước được không ạ (Sheet "
Toado")?
Mọi người giúp đỡ em với nhé. Em cảm ơn nhiều.

 

File đính kèm

  • 1. Dap dat K100 Km1+140-Km1+923.05 - TT01.xlsm
    271.9 KB · Đọc: 32
Như bạn nêu:
em làm thế nào để trong Sheet "Toado" khi có sự thay đổi giá trị True hoặc False thì tự động ẩn các dòng có chứa giá trị là False, còn các dòng có chứa giá trị True thì cho hiển thị (chỉ có tác dụng trong phạm vi có chứa giá trị True hoặc False: Dòng 10 đến dòng 27).

thì chắc fải xài macro sự kiện;
Vậy thì bạn cần nói rõ chuyện "khi có sự thay đổi giá trị True hoặc False thì. . ."
nó thay đổi ở đâu? Ở trang tính nào?
(Mình thấy các ô ở cột [M] thuộc những dòng bân nêu có công thức dẫn đến trang 'Thong Tin')
Vậy làm cách nào để đổi dữ liệu liên quan này vậy?
 
Cảm ơn anh ndu96081631nhiều nha. Em có thêm một vấn đề nữa mong anh chỉ giúp em với. Đây là hình ảnh trong bảng tính của em:
View attachment 141317

Anh có thể giúp em làm thế nào để khi có sự thay đổi giá trị True hoặc False thì tự động ẩn các dòng có chứa giá trị là False, còn các dòng có chứa giá trị True thì cho hiển thị (chỉ có tác dụng trong phạm vi có chứa giá trị True hoặc False: Dòng 10 đến dòng 27). Ở đây em có thể dùng tính năng Filter của Excel nhưng mỗi lần có sự thay đổi giá trị True hoặc False thì mình phải chọn lại mới có thể ẩn được hàng (Không tự động được). Anh giúp em vấn đề này nữa nhé. Em cảm ơn anh nhiều.

Nhanh gọn, khỏi suy nghĩ là làm thế này:
- Viết 1 code để filter:
Mã:
Sub TodoFilter()
  Sheet9.Range("M9:M27").AutoFilter 1, True, , , False
End Sub
- Tại sheet Thongtin, chọn toàn bộ các checkbox trong khu vực M11:M28 rồi Assign Macro chúng với macro ở trên
Từ giờ, mỗi khi ta chọn vào các checkbox bên sheet Thongtin thì vùng dữ liệu M10:M27 tại sheet Toado sẽ tự filter theo điều kiện TRUE
----------------------
Đương nhiên, nếu có thời gian thì tôi sẽ làm khác hơn:
- Bỏ hết tất cả nhưng công thức tại các cột phụ (như O11:Q28AC11:AC28 ở sheet Thongtin, D10:M27 ở sheet Toado)
- Chỉ cần chọn các checkbox thì lập tức các thông tin sẽ được cập nhật
Đại khái vậy! Vì nói chung nếu đã làm bằng VBA thì tôi sẽ không cần bất cứ công thức nào
 
Cảm ơn anh ndu96081631. Như thế này cũng rất hay rồi. Nhưng nghe anh nói còn có cách khác hay hơn thì khi nào anh có thời gian thì hướng dẫn giúp em và mọi người thêm nhé. Cảm ơn anh rất nhiều.
 
Việc thay đổi giá trị True hay False là phụ thuộc vào các Check box ở Sheet thông tin đó bạn HYen17. Nếu mình tích vào check box thì giá trị trong ô Cell link là TRUE còn bỏ chọn thì giá trị trong ô Cell link là FALSE.
 
Web KT

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

Back
Top Bottom