【发布时间】:2019-05-16 19:09:33
【问题描述】:
我正在尝试删除费用为 0 的费用报告中的行,因为该信息并不重要。我正在使用自动过滤器来过滤数量列中只有零的行,并删除这些行。问题是当代码在这个任务之后继续下一步时,它使我的报表文档没有以前的标题,而这些标题非常重要。
我尝试将范围从“AB1:AB”更改为“AB2:AB”,但什么也没做,在第二个连接范围值中,我尝试将“AB”更改为“AB2”,但返回错误声明对象'_global'的“方法'范围'失败。”
Application.ScreenUpdating = False
Range("AB1:AB" & Range("AB" & Rows.Count).End(3)(1).Row).AutoFilter 1, 0#, xlAnd, 0
Range("AB2:AB" & Range("AB" & Rows.Count).End(3)(1).Row).SpecialCells(12).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = True
【问题讨论】:
-
只是为了检查 - 它们是零还是空白?
-
@BigBen 它们是零,而不是空白。我在过滤条件中有 0# 和 0,因为有时某些单元格的格式会将“0”变成“0”。
-
在删除行之前,可以加一个
Debug.Print Range("AB" & Rows.count).End(xlUp).Row吗?立即窗口中的结果是什么? -
@BigBen 我做了,但突出显示的行是行删除行上方的行,所以是自动过滤行。我应该在该行之前执行 debug.print 并告诉你我得到了什么吗?
-
你还有
"AB2" & Rows.Count吗?如果是,请改回"AB"。