VBA Excel中的隐藏列

制革10

我在1个Excel工作簿中有4个工作表。我试图将Sheet1,Sheet2和Sheet4存储在数组中。然后,我希望程序隐藏第8行中值不为“ FY”的数组中的所有列。这样做的目的是能够轻松查看FY行,并使Sheet3不会隐藏任何列。

这是excel文件的屏幕截图: 在此处输入图片说明

这是我的代码段:

Sub FY_HIDE222()    
    Dim keyCells As Range
    Dim ws As Variant
    ws = Array("Sheet1", "Sheet2", "Sheet4")

    For Each sh In ws
        For Each keyCells In ws.Range("C8:ZZ8").Cells
            If keyCells.Value <> "FY" Then
                keyCells.EntireColumn.Hidden = True
            End If
        Next keyCells
    Next sh
End Sub

我在此行收到语法错误:

For Each keyCells In ws.Range("C8:ZZ8").Cells

说“ keyCells =无” ...请协助我进行思考,因为我认为keyCells变量应存储FY,Q1,Q2等。

非盟

变量`sh仅获取字符串值,而不是Worksheet对象。尝试

Sub FY_HIDE222()
Dim keyCells As Range
Dim wsName As Variant
Dim ws As Worksheet
wsName = Array("Sheet1", "Sheet2", "Sheet4")
    For Each sh In wsName
        Set ws = ThisWorkbook.Sheets(sh)
        For Each keyCells In ws.Range("C8:ZZ8").Cells
            If keyCells.Value <> "FY" Then
                keyCells.EntireColumn.Hidden = True
            End If
        Next keyCells
    Next sh
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章