修改 VBA 代码以隐藏整个工作簿中的空列

修改 VBA 代码以隐藏整个工作簿中的空列

我在这个帖子中找到了下面的代码(Excel - 筛选行时有没有办法自动隐藏空列?) 隐藏了只有标题但没有数据的列。对于我所做的工作来说,它工作得很好,但它只处理一个工作表,而我需要它处理整个工作簿。

希望这是一个简单的改变,但我对此很陌生 - 有人可以修改下面的内容吗?

Sub KolumnHider()
Dim wf As WorksheetFunction
Dim i As Long, r As Range

Set wf = Application.WorksheetFunction
For i = 1 To 1000
    Set r = Cells(1, i).EntireColumn
    If wf.CountA(r) < 2 Then r.Hidden = True
Next i
End Sub

谢谢,伊万

答案1

尝试一些类似的事情

Dim wf As WorksheetFunction
Dim i As Long, r As Range
Dim sh as Worksheet

Set wf = Application.WorksheetFunction
For Each sh in ActiveWorkbook.Worksheets
    For i = 1 To 1000
        Set r = sh.Cells(1, i).EntireColumn
        If wf.CountA(r) < 2 Then r.Hidden = True
    Next i
Next

此外,我会将该代码中的“1000”替换为

 sh.Cells.SpecialCells(xlCellTypeLastCell).Column

使代码循环遍历所需的精确列数,而不仅仅是 1000,因为 1000 可能太多或太少。

相关内容