Excel VBA : Delete entire row if cell in column A is blank (Long Dataset)

标签 excel delete-row vba

我正在尝试删除长数据集中 A 列中包含空白单元格的所有行(Excel 中超过 60 000 行)

我有一个 VBA 代码,当我的单元格数少于大约 32 000 个时,该代码可以很好地工作:

   Sub DelBlankRows()

   Columns("A:A").Select
   Selection.SpecialCells(xlCellTypeBlanks).Select
   Selection.EntireRow.Delete

   End Sub

有人知道一种方法可以使其适用于大量行吗?

谢谢

最佳答案

你可以尝试:

Application.ScreenUpdating = False
Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True

Application.ScreenUpdating 切换代码中所做的更新是否对用户可见,尝试 Columns("A:A").SpecialCells(... 可能会节省时间,因为它实际上不必选择单元格 - 未经测试。

关于Excel VBA : Delete entire row if cell in column A is blank (Long Dataset),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430673/

相关文章:

python - 写入 excel 文件时超过 url 数量

调整了 .cursertype 的 VBA "rowset does not support fetching backward"错误

mysql - 如何从不符合某些条件的表中删除行

vba - 将 protected 工作表宏应用于工作簿中的所有工作表

mysql - 我有一个 Excel 中的 VBA 将数据传输到 MySQL,但是我对日期有疑问

vba - 通过公式更改单元格时的时间戳 (Excel)

excel - 数组公式 : nested ifs and same row calculation

java - 从 RecyclerView 和 Realm DB 中删除项目

vba - 如果范围为空则删除列

vba - 显示 "Number stored as Text"错误