检查值是否存在于没有循环的范围内

我习惯于Python语法在哪里检查7是否在list1 ,只需7 in 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 

使用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