[VBA] Ẩn dòng theo điều kiện

Chào bạn đã đến với HocExcel.online. Hôm nay mình sẽ hướng dẫn các bạn cách ẩn dòng theo điều kiện . Ta xét ví dụ sau đây .

Vùng [A1:A100]  chứa các số , ô bị lỗi công thức, các ô không có dữ liệu. Mục tiêu là ta sẽ ẩn các dòng bị lỗi và có dòng không có dữ liệu đi.

Ngoài ra bài này các bạn sẽ tiếp cận với việc sử dụng kiểu biến Boolean . Kiểu biến này chỉ có hai giá trị là true và false (Đúng và Sai)

Ví dụ ở đây mình khai báo biến :

Dim CHK as Boolean

Ta xét hai điều kiện nếu  dòng đó lỗi hoặc rỗng thì biến CHK này = true và ta thực hiện việc ẩn dòng. Bạn hình dung cách mình dùng Biến CHK này như một cái công tắc bóng đèn chỉ có hai nút tắt và mở

Cụ thể Code như sau :

Sub hidden()
Dim R As Range, CHK As Boolean
For Each R In Sheet1.Range(“A1:A10”)
CHK = False
If VarType(R.Value) = vbError Then
CHK = True
Else
If R.Value = “” Then CHK = True
End If
R.Entirerow.Hidden = CHK
Next
Set R = Nothing
End Sub

Và Bonus thêm một code để hiện vùng [A1:A100]  lên :

Sub ShowRows()
Sheet1.Range(“A1:A100”).EntireRow.Hidden = False
End Sub

Enjoy . Chúc bạn học tốt cùng HocExcel.online

DuyTG