cli*_*ere 1 excel vba excel-vba
我已经习惯了Python语法在那里检查,如果7是list1你只需键入7 in list1它返回一个布尔值.我怎么能在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
Run Code Online (Sandbox Code Playgroud)
使用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
Run Code Online (Sandbox Code Playgroud)