VBA - 在下拉列表中显示最后一项的整行

时间:2017-12-12 12:04:31

标签: vba row spreadsheet dropdown

我试图根据从上面的下拉列表中选择的值取消隐藏电子表格中的一行。

我不想基于某个值显示此行,但只有在选择了除最后一行之外的任何内容时才会显示此行。

因此,例如,在下拉列表中我有Windows版本(最后一项是Windows 10)。如果选择了最后一个项目,那么下面的行会询问“您的Windows版本是否计划很快升级?”#39;将保持隐藏。任何其他值都将取消隐藏此行。

这将有助于将来维护电子表格,从而在发布新版本的Windows时,我可以将其添加到下拉列表的底部,并且不需要更改代码。寻找它执行的最后一行。

这可能吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

要根据上面的列中的值隐藏行,请使用单元格A9在工作表中使用事件。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(external:=False) = "$A$9" And Target = "Windows 10" Then
        Target.Offset(1).EntireRow.Hidden = True
    Else
        Target.Offset(1).EntireRow.Hidden = False
    End If
End Sub

您可能希望Wind的最后版本不是硬编码的。但是可能的解决方案很大程度上取决于您如何填充下拉列表。