我有一张表要移到别处,我想删除大部分数据(有很多空白或 0 我并不真正关心)。到目前为止,这是我所拥有的代码:
Dim srcRange As Range
Dim copysheet As Worksheet
Set copysheet = ActiveSheet
Set srcRange = copysheet.range("B1:D1598")
srcRange.AutoFilter Field:=3, Criteria1:=Array("#VALUE!", "Count", 0, Empty)
srcRange.Delete
使用此设置它只会删除空白,因此我使用以下变体对其进行了几次测试:
'this code will return only the 0's
Dim srcRange As Range
Dim copysheet As Worksheet
Set copysheet = ActiveSheet
Set srcRange = copysheet.range("B1:D1598")
srcRange.AutoFilter Field:=3, Criteria1:=Array("#VALUE!", "Count", 0)
'this code will return only the "count"'s
Dim srcRange As Range
Dim copysheet As Worksheet
Set copysheet = ActiveSheet
Set srcRange = copysheet.range("B1:D1598")
srcRange.AutoFilter Field:=3, Criteria1:=Array("#VALUE!", "Count")
所以我得出的结论是,出于某种原因,自动筛选工具仅根据我放入标准 1 的最后一个标准进行筛选。谁能给我一些关于为什么的见解?
仅供参考-我的临时解决方法是运行 4 个过滤/删除命令而不是一个,它工作正常-我只是想了解一下导致这种情况的原因。
谢谢!