首页 > 解决方案 > vba 4条件错误不能很好地执行

问题描述

也许它已经在这里进行了辩论。我假装是根据单元格 C3 隐藏/取消隐藏行间隔。如果 C3 不是以下数字 1、2、3 或 4 之一,则假设单击按钮隐藏第 7 到 19 行。如果等于 1 则假设显示第 7 到 8 行,如果等于 2 则假设显示第 7 到 12 行,依此类推。

看来我编写的代码需要遵循一定的路径,否则它不起作用。

我希望已经清楚了。谢谢你们

标签: vba

解决方案


如果隐藏/取消隐藏的行取决于 C3 中的值,为什么要使用按钮呢?当 C3 中的值发生变化时,只需隐藏/取消隐藏即可。

右键单击工作表的名称选项卡并选择查看代码。将此粘贴到工作表的代码表中。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Cells(3, "C")) Is Nothing Then

        Select Case Cells(3, "C").Value2
            Case 1
                Rows("7:9").Hidden = True
                Rows("10:19").Hidden = False
            Case 2
                Rows("7:12").Hidden = True
                Rows("13:19").Hidden = False
            Case 3
                'and so on
            Case 4
                'and so on
            Case Else
                Rows("7:19").Hidden = False
        End Select

    End If

End Sub

推荐阅读