用于隐藏/取消隐藏Excel中的列的宏

时间:2017-02-01 14:07:40

标签: excel vba excel-vba

我创建了一个简单的宏来隐藏/取消隐藏Excel中的列(附在下面)。 它工作正常,但是,当在宏中的列范围内添加列时,应该隐藏的最后一列仍然是未隐藏的。 为了使自己清楚:宏中的列范围是AM:BF。当我需要在此范围内添加列时,列BF保持不被隐藏。你能帮我解决一下如何改进代码,以便初始范围的列保持隐藏状态以及添加的列吗?

With Columns("AM:BF")
    If .EntireColumn.Hidden = True Then
        .EntireColumn.Hidden = False
    Else
        .EntireColumn.Hidden = True
    End If
End With

1 个答案:

答案 0 :(得分:5)

您需要为该列添加一个放置器。您可以在AM:BF列的顶行使用命名范围(如果在其中间添加一列,则会更改)。您的代码可能看起来像

With ThisWorkbook.Sheets("MySheet").Range("NamedRange").EntireColumn
    .Hidden = Not .Hidden   
End With