【问题标题】:Looping through Range and Hiding Columns VBA循环遍历范围和隐藏列 VBA
【发布时间】:2011-12-11 01:05:23
【问题描述】:

我今天病得很重,而且是 VBA 的新手——这不是成功的秘诀。我正在尝试遍历(水平)范围内的每个单元格,如果单元格内的文本为 FALSE,那么我想隐藏该列。这是我到目前为止所得到的:

Dim rRange As Range
Dim rCell As Range
rRange = Worksheets("Data").Range("W7:AH7").Cells

For Each rCell In rRange
        If rCell.Value = "FALSE" Then rCell.Columns.EntireColumn.Hidden = True
Next rCell
End Sub

我收到错误“对象变量或未设置块变量”。请有人指出我哪里出错了?谢谢。

【问题讨论】:

    标签: excel vba loops hide range


    【解决方案1】:

    使用这个

    set rRange = Worksheets("Data").Range("W7:AH7").Cells 
    

    If Ucase(rCell.Value) = "FALSE" Then rCell.Columns.EntireColumn.Hidden = True 
    

    创建实例需要设置对象变量,“FALSE”“false”,使用Ucase忽略差异。

    []的

    【讨论】:

    • 非常感谢!我没有意识到你必须像这样输入 Set ......至于大写/小写这不是问题,因为单元格字面上包含“FALSE”。但是,现在这一切似乎都运行良好,但列最终并未隐藏。我以为 EntireColumn.Hidden = True 会立即隐藏它们?再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 2016-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    相关资源
    最近更新 更多