【发布时间】:2018-10-23 07:51:50
【问题描述】:
我通常使用宏来显示和隐藏使用复选框的列。 我通过定义宏代码中的列来设置它。
Sub Hideshow() If Range("A1").Value = "True" Then ActiveSheet.Columns("B:C").Hidden = False ElseIf Range("A1").Value = "False" Then ActiveSheet.Columns("B:C").Hidden = True Else Return End If End Sub
对于此代码,A1 = 复选框的结果(真/假) 和 B:C 是我隐藏的列,或者,如果已经隐藏;显示。
但是,现在我正在制作一个更加动态的版本,因为当添加新列或列范围更改时,我已经厌倦了滚动宏代码和更改每个列引用。
我现在已将要隐藏的列放在工作表的单元格 A2 中 例如 B:C
我希望宏代码将该单元格的值用作“定义范围”吗?显示和隐藏我在单元格 A2 中定义的列范围。
我发现了很多类似的帖子,但它们略有不同,我无法使其适用于我的特定场景。
新的看起来像这样
Sub Hideshow() If Range("A1").Value = "True" Then ActiveSheet.Columns(" The Value in A2 ").Hidden = False ElseIf Range("A1").Value = "False" Then ActiveSheet.Columns(" The Value in A2").Hidden = True Else Return End If End Sub
有什么想法吗?
【问题讨论】:
标签: excel variables range cell defined