VBA删除Excel列和标题,如果列中的所有单元格(标题除外)都为空



我有一些 vba 代码,可以用特定的文本填充 excel 表。 我希望在代码中添加一个函数,如果该列为空(不存在文本字符串(,则删除该列(和标题(。 我已经搜索了一些代码,但没有一个能够工作。 有什么建议吗?

下面的简单函数将检查给定的列是否为空。可选参数允许您设置,如果空列应包含标题。

Function IsColumnEmpty(ByVal rngColumn As Range, Optional bIncludeHeaders As Boolean = True) As Boolean
    IsColumnEmpty = False
    If bIncludeHeaders = True Then
        If WorksheetFunction.CountA(rngColumn) = 1 Then
            IsColumnEmpty = True
        End If
    Else
        If WorksheetFunction.CountA(rngColumn) = 0 Then
            IsColumnEmpty = True
        End If
    End If
End Function

要删除空列,您可以按如下方式使用它:

If IsColumnEmpty(Sheets(1).Column(1)) = true then
    Sheets(1).Column(1).Delete
End If

最新更新