【发布时间】:2023-03-28 01:18:01
【问题描述】:
我有一个工作表,上面有两个表格,从 B 列开始。在 A 列中,我有一个与删除空白行按钮相关联的 COUNTA 公式。我的代码可以很好地删除表格行,但我需要它来删除整个工作表行,以便它也删除 A 列中的公式,而不是在添加或删除行时不断向下移动。
问题是我在工作表上有两个表,所以我需要删除行操作来仅引用 Local_1 表,并且在到达该表的末尾时停止循环。
关于如何删除整行而不仅仅是表格行的任何建议?
Dim i As Long
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:=pswStr
Rows.EntireRow.Hidden = False
With ActiveSheet.ListObjects("Local_1")
For i = .ListRows.Count To 1 Step -1
If .ListRows(i).Range.Cells(0) <= 0 Then
.ListRows(i).Delete
End If
Next i
End With
【问题讨论】:
-
Cells()是从 1 开始的,所以If .ListRows(i).Range.Cells(1) = 0 Then
标签: excel vba delete-row listobject excel-tables