1

这基本上是一个邮件模板,包含 3 种不同类型的内容。
我有一个带有组合框列表的 Excel 表。该列表具有值 1,2 和 3。以及 3 种不同类型的内容。当其中任何一个被选中时。其余内容必须隐藏。

4

1 回答 1

3

假设您Range("A1")使用不同的选项设置了验证选项(在我的示例中为 1-3)。在适当的 Sheet 模块中放入以下代码并根据需要进行更改。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Dim rngOpt1 As Range
Dim rngOpt2 As Range
Dim rngOpt3 As Range
'you doesn't need to put rows references here
'as we deal with it later
    Set rngOpt1 = Range("b10:c15")   'first area to be hidden
    Set rngOpt2 = Range("d16:e20")   'second...
    Set rngOpt3 = Range("f21:g25")   'you can guess
If Range("A1") = 1 Then 'your validation cell
    rngOpt1.EntireRow.Hidden = False
    rngOpt2.EntireRow.Hidden = True
    rngOpt2.EntireRow.Hidden = True
ElseIf Range("A1") = 2 Then
    rngOpt1.EntireRow.Hidden = True
    rngOpt2.EntireRow.Hidden = False
    rngOpt2.EntireRow.Hidden = True
Else
    'you can do it on you own... :)
End If
End If
End Sub

每次更改 A1 中的值时,都会隐藏相应的行范围。我并不特别为它的效率感到自豪,但这是我的第一个想法。

于 2013-03-23T07:44:09.823 回答