Excel VBA 隐藏当前及后续行:按条件筛选
Excel VBA 隐藏当前及后续行:按条件筛选
以下 VBA 代码实现从当前选中的单元格开始,逐行扫描 A 列,当遇到值为 '条件' 的单元格时,隐藏该行及后续所有行。
Sub HideRows()
Dim i As Integer
Dim LastRow As Integer
LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For i = ActiveCell.Row To LastRow
If Range("A" & i).Value = "条件" Then
Rows(i & ":" & LastRow).EntireRow.Hidden = True
Exit For
End If
Next i
End Sub
使用方法:
- 打开 Excel 工作簿,选择包含要筛选数据的表格。
- 按 Alt + F11 键打开 VBA 编辑器。
- 在 VBA 编辑器中,插入一个新的模块 (Insert -> Module)。
- 将上面的代码粘贴到新的模块中。
- 按 F5 运行代码。
代码解释:
LastRow: 获取当前工作表最后一行的数据行。For i = ActiveCell.Row To LastRow: 从当前选中单元格的行号开始,循环遍历每一行。If Range("A" & i).Value = "条件" Then: 判断 A 列当前行单元格的值是否为 '条件'。Rows(i & ":" & LastRow).EntireRow.Hidden = True: 如果 A 列当前行单元格的值为 '条件',则隐藏从当前行到最后一行所有行。Exit For: 当找到 '条件' 时,退出循环。
注意事项:
- 代码中的 '条件' 可以根据实际情况修改。
- 代码仅针对 A 列进行筛选,如果要针对其他列进行筛选,请修改代码中的
Range("A" & i)部分。 - 使用此代码前,请确保表格中没有其他隐藏行。
原文地址: https://www.cveoy.top/t/topic/nbLo 著作权归作者所有。请勿转载和采集!