在Excel表中删除空行

时间:2018-01-19 20:47:33

标签: excel vba excel-vba

对于VBA,表的处理方式是否不同?

我有一个简单的宏,我试图删除列S中的单元格作为表格的一部分为空的所有行(" Table1")。但是,我收到一个错误框,其中包含" 400"在它和谷歌没有帮助我。

这个宏工作如果我更换" & LastRow号码为" S2:S1000"例如。

Sub deleteBlankRows()

    Dim LastRow As Long
    LastRow = Range("B" & Rows.Count).End(xlUp).Row

    With Range("S2:S" & LastRow)
        .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End With

End Sub

2 个答案:

答案 0 :(得分:1)

发生错误是因为要从表中删除整行。您可以将表格转换为范围,或在宏中使用Traceback (most recent call last): File "<input>", line 1, in <module> File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import module = self._system_import(name, *args, **kwargs) ModuleNotFoundError: No module named 'lr_utils' 而不是Rows

EntireRow

答案 1 :(得分:1)

假设您要删除的行在表格中仅 ,您还可以直接使用表格对象本身。

With ListObjects("Table1")
     .ListColumns("myColumnName").DataBodyRange.SpecialCells(xlCellTypeBlanks).Rows.Delete 
End With