这基本上是一个邮件模板,包含 3 种不同类型的内容。
我有一个带有组合框列表的 Excel 表。该列表具有值 1,2 和 3。以及 3 种不同类型的内容。当其中任何一个被选中时。其余内容必须隐藏。
问问题
3902 次
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 回答