我正在尝试根据条件过滤一组行并删除过滤后的行。我已经尝试了在互联网上找到的每一个解决方案,但没有任何运气。
我认为它失败的几个原因是,因为我的数据从第 7 行开始,有时过滤行中没有任何内容。我当前的代码看起来像这样。
WB.Worksheets(LastSheet).Range("A" & HeaderOffset + 1 & ":Z" & LastSourceRow).AutoFilter field:=2, Criteria1:="=Deposit*"
WB.Worksheets(LastSheet).Range("A" & HeaderOffset + 2 & ":Z" & LastSourceRow).Delete Shift:=xlUp
WB.Worksheets(LastSheet).Range("A" & HeaderOffset + 1 & ":Z" & LastSourceRow).AutoFilter 'Deactivate
恼人的是,这会删除所有行。
我尝试使用SpecialCells(xlCellTypeVisible),但在没有筛选行时失败
WB.Worksheets(LastSheet).Range("A" & HeaderOffset + 2 & ":Z" & LR).SpecialCells(xlCellTypeVisible)
解决方案
假设
本文介绍了如何在Excel中删除经过条件过滤后的行。作者遇到问题在于数据起始行不固定,且存在空行。尝试使用SpecialCells(xlCellTypeVisible)未成功。解决方案提出,当应用过滤后,如果特定条件下有筛选行,则利用xlCellTypeVisible选择并删除,否则不操作。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



