1

我正在尝试根据在特定字段中输入的值隐藏-自动隐藏我的 Excel 2010 电子表格中的某些行。我正在使用数据验证来设置 0 到 50 之间的最小和最大数字。如果是 0,则隐藏接下来的 3 行,但如果是任何其他数字,则显示行。

下面是有效的 VBA 代码,除了我必须把它放在每个可能的数字上。有没有我可以使用的 IF Else 语句?如果为 0 则隐藏,否则显示行

If Target.Address(False, False) = "B45" Then

    Select Case Target.Value

        Case "0": Rows("46:48").Hidden = True

        Case "1": Rows("46:48").Hidden = False

        Case "2": Rows("460:48").Hidden = False

        Case "3": Rows("46:48").Hidden = False

        Case "4": Rows("46:48").Hidden = False

        Case "5": Rows("46:48").Hidden = False

        Case "6": Rows("46:48").Hidden = False

        Case "7": Rows("46:48").Hidden = False

        Case "8": Rows("46:48").Hidden = False

        Case "9": Rows("46:48").Hidden = False

        Case "10": Rows("46:48").Hidden = False

    End Select

    Else: Rows("46:48").Hidden = False

End If

谢谢!

4

2 回答 2

1

你不只是使用:

Case Else
Rows("46:48").Hidden = False

?

然后这表示任何不适合第一种情况(0)的东西都默认为这个。

对不起,如果我误解了。

于 2013-02-21T15:00:54.150 回答
0

而不是使用 Select Case 您可以尝试:

If Target.Address(False, False) = "B45" Then
    If Target.Value > 0 And Target.Value <= 10 Then
        Rows("46:48").Hidden = False
    Else
        Rows("46:48").Hidden = True
    End If
Else
    Rows("46:48").Hidden = False
End If
于 2013-02-21T15:01:14.150 回答