vba 4条件错误,无法很好地执行

时间:2019-02-14 17:46:35

标签: vba

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

似乎我编写的代码需要遵循特定的路径,否则它将无法正常工作。

我希望已经清楚了。 谢谢大家

1 个答案:

答案 0 :(得分:0)

如果要隐藏/取消隐藏的行取决于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