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

使用方法:

  1. 打开 Excel 工作簿,选择包含要筛选数据的表格。
  2. 按 Alt + F11 键打开 VBA 编辑器。
  3. 在 VBA 编辑器中,插入一个新的模块 (Insert -> Module)。
  4. 将上面的代码粘贴到新的模块中。
  5. 按 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) 部分。
  • 使用此代码前,请确保表格中没有其他隐藏行。
Excel VBA 隐藏当前及后续行:按条件筛选

原文地址: https://www.cveoy.top/t/topic/nbLo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录