Bỏ qua hàng ẩn trong Macro (Microsoft Excel)
Khi sử dụng trang tính, không có gì lạ khi ẩn các hàng chứa dữ liệu bạn không muốn hiển thị tại thời điểm hiện tại. Nếu bạn đã viết một macro xử lý dữ liệu trong trang tính, bạn có thể tự hỏi làm thế nào để bỏ qua và không xử lý các hàng mà bạn đã đánh dấu là ẩn.
Cách bạn thực hiện điều này là kiểm tra thuộc tính Ẩn của mỗi hàng.
Nếu thuộc tính True, thì hàng bị ẩn; nếu Sai, thì hàng sẽ hiển thị.
Để làm ví dụ về cách hoạt động của điều này, hãy giả sử rằng bạn có một trang tính mà bạn sử dụng để theo dõi khách hàng. Một số ứng dụng khách này được coi là đang hoạt động và những ứng dụng khác không hoạt động. Để đánh dấu một ứng dụng khách là không hoạt động, bạn ẩn hàng chứa ứng dụng đó. Tại một số điểm, bạn muốn đánh số các máy khách đang hoạt động và bạn muốn thực hiện việc đó bằng cách sử dụng macro. Macro sau sẽ thực hiện thủ thuật cho bạn:
Sub NumberClients() Dim c As Range Dim j As Integer If Selection.Columns.Count > 1 Then MsgBox "Only select the cells you want numbered" Exit Sub End If j = 0 For Each c In Selection If Not c.Rows.Hidden Then j = j + 1 c.Value = j Else c.Clear End If Next c End Sub
Để sử dụng macro, chỉ cần chọn các ô mà việc đánh số sẽ được thực hiện. Trước hết, macro kiểm tra để đảm bảo rằng bạn chỉ có các ô được chọn trong một cột duy nhất. Sau đó, nó bước qua từng ô trong phạm vi đã chọn. Nếu hàng chứa ô không bị ẩn, thì bộ đếm (j) được tăng dần và được lưu trữ trong ô. Nếu hàng chứa ô bị ẩn, thì nội dung của ô sẽ bị xóa. Chìa khóa của macro này là cấu trúc If … End If để kiểm tra giá trị của thuộc tính Hidden.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2286) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: