我习惯于在python语法中检查7
是否在list1
中,您只需键入7 in list1
并返回一个 bool(boolean) 值。如何在vba中执行类似的操作?
我目前正在大范围浏览。我想偶尔检查我循环遍历的值是否在其他范围内。如果我必须在循环中嵌套更多的循环,则速度可能会变慢。解决此问题的最快方法是什么?
For i = 400 To 1 Step -1:
'doing other things
'here's some psuedo-code of what I want to do
If Sheets("Sheet2").Cells(i, 2).Value In Sheets("Sheet1").Range("NamedRange")
Sheets("Sheet2").Cells(i, 2).EntireRow.Delete
End If
Next i
最佳答案
使用一个countif,如果它大于零,那么您知道它存在于列表中:
If Application.WorksheetFunction.CountIf(Sheets("Sheet1").Range("NamedRange"), Sheets("Sheet2").Cells(i, 2).Value) > 0 Then
Sheets("Sheet2").Cells(i, 2).EntireRow.Delete
End If
关于vba - 检查值是否在范围内而不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64975435/