Vba:如何根据条件隐藏行


您可以在 VBA 中使用以下语法来根据单元格值隐藏行:

 SubHideRows ()

    Dim i As Integer
    
    For i = 2 To 10
    
        If Cells(i, 1).Value = " Mavs " Then
            Cells(i, 1).EntireRow.Hidden = True
        Else
            Cells(i, 1).EntireRow.Hidden = False
        End If
        
    Next i

End Sub

此特定宏隐藏 2 到 10 范围内第一列中单元格值等于“Mavs”的所有行。

您还可以使用以下宏来显示所有行:

 SubUnhideRows ()
    Rows.EntireRow.Hidden = False
End Sub

以下示例展示了如何在实践中使用此语法。

示例:使用 VBA 根据条件隐藏行

假设我们有以下数据集,其中包含有关各种篮球运动员的信息:

假设我们要隐藏球队列中包含“Mavs”的每一行。

我们可以创建以下宏来执行此操作:

 SubHideRows ()

    Dim i As Integer
    
    For i = 2 To 10
    
        If Cells(i, 1).Value = " Mavs " Then
            Cells(i, 1).EntireRow.Hidden = True
        Else
            Cells(i, 1).EntireRow.Hidden = False
        End If
        
    Next i

End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,团队列中包含“Mavs”的每一行现在都已隐藏。

如果需要,我们可以创建以下宏来显示所有行:

 SubUnhideRows ()
    Rows.EntireRow.Hidden = False
End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,所有行都会再次显示。

请注意,在我们的宏中,我们指定For i = 2 To 10以根据条件隐藏 2 到 10 之间的行。

您可以随意更改这些开始值和结束值以隐藏不同行范围中的行。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何对单元格应用条件格式
VBA:如何计算范围内的行数
VBA:如何计算具有特定文本的单元格

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注