基于在Excel中下拉列表上隐藏行(Hide rows based on Drop Down lis

2019-10-17 21:38发布

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

Answer 1:

假设你在设置验证选项Range("A1")具有不同的选项(1-3在我的例子)。 在适当的表模块把下面的代码,并改变它作为必要的。

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更改值时相应的行范围将被隐藏。 我并不特别感到自豪的效率,但它是我的第一个想法。



文章来源: Hide rows based on Drop Down list in Excel