我有一个包含大量数据和大量列的工作表,因此我无法手动执行此操作。
我在这里搜索了一些答案,但是如果特定列为空,则只找到删除行的方法,但我希望标准是任何列都是空白的。
任何人都可以告诉我如何在VBA中做到这一点?
答案 0 :(得分:0)
这是一种方式:
Sub test()
Dim i As Long
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
For i = 10 To 2 Step -1
If (Application.WorksheetFunction.CountBlank(Sheet1.Range("A" & i & ":H" & i))) >= 1 Then
Sheet1.Range("A" & i).EntireRow.Delete
End If
Next i
With Application
.ScreenUpdating = True
.Calculation = xAutomatic
End With
End Sub
请记住,这假设您正在使用Sheet1并且仅检查单元格A到H中的值。另外,我使用硬编码循环进行演示。在您的应用程序中,您应该在代码中找到最后一行并使用它而不是假设您想要从10到2。
此外,删除行时,您应该自下而上。
答案 1 :(得分:0)
如果准备添加一个带有公式的辅助列,如果没有VBA非常简单:
=COUNTBLANK(A1:F1)
向下复制到suit,其中F
表示包含任何数据的最后一列(通常最右边)。过滤帮助列以选择列号(对于F为6
)并删除选择。