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

时间:2017-11-14 00:37:53

标签: excel vba excel-vba access

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

1 个答案:

答案 0 :(得分:0)

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

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