【发布时间】:2021-08-21 20:28:58
【问题描述】:
我正在开展一个项目,为特定的导入规范清理几百张 excel 表。如果任何行的特定值为空白,则导入过程会出错,因此如果该行中的 C 列为空,我正在寻找删除整个工作簿中所有行的最佳方法。我发现这个在活动工作表上工作的简单 VBA 代码,但我需要它来遍历工作簿中的所有工作表。有什么关于更好的流程的建议,这样我就不必运行它 > 100 次了吗?
Sub DelBlankRows()
Columns("C:C").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
End Sub
【问题讨论】:
-
不使用 select 可能会加快速度,但不确定是否有办法一举编辑所有工作表。
-
您的问题对我来说有点模棱两可:您是要求遍历每个工作表,并删除那些工作表上在 C 列中有值的行,还是要求从 all 表如果 any 表在该行的 C 列中有值? (即如果 Sheet1 的单元格 C3 中有值,则从 所有 表中删除第 3 行,即使单元格 C3 中没有值?)