删除符合条件的整行[关闭]

问题描述 投票:0回答:1
我坚持编写代码来删除整行,如果它们符合特定条件。就我而言,我希望删除至少具有#N / A Invalid Security列的所有行。编写代码的最佳方法是什么?我应该添加一个过滤器然后删除吗?谢谢
excel vba
1个回答
0
投票
请尝试下一个代码。如果我没有记错的话,“#N / A Invalid Security”不是错误,它是您询问的来源的一种答案。因此,像字符串一样使用它应该以这种方式工作:

Sub DeleteRowByCriteria() Dim sh As Worksheet, arr As Variant, rngDel As Range, i As Long, j As Long Set sh = ActiveSheet ' use here your sheet arr = sh.UsedRange.value For i = 1 To UBound(arr, 1) For j = 1 To UBound(arr, 2) If arr(i, j) = "#N/A Invalid Security" Then If rngDel Is Nothing Then Set rngDel = sh.Cells(i, j): Exit For Else Set rngDel = Union(rngDel, sh.Cells(i, j)): Exit For End If End If Next Next i If Not rngDel Is Nothing Then rngDel.EntireRow.Delete End Sub

© www.soinside.com 2019 - 2024. All rights reserved.