在Excel VBA中评估30+ If Thenexpression式的更快方法

我正在寻求评估单元格的价值对30可能如果然后条件评估二进制(如果x然后y,如果一个然后b没有重复的价值)。

如果单元格(a,35)等于这30个值中的任何一个,则不同单元上的单元格(b,35)将需要用新值覆盖。

运行30+如果然后在电子表格上每行对数似乎是不必要的慢,但我不熟悉任何更快的方式来链接数据对用于这些目的。 任何build议都被赞赏!

如果您只是需要进行比较,看看每个项目是否相等/不等于值列表,那么这个方法就可以工作。

 Public Sub MultiComparison() Dim myCollection As New Collection Dim Iterator As Variant Set myCollection = CreateCollection() For Each Iterator In myCollection ' loop through each item in the collection If Sheets("Sheet1").Cells(1, 1) = Iterator Then ' check each condition Sheets("Sheet2").Cells(2, 1) = Sheets("Sheet1").Cells(1, 1) Exit For End If Next End Sub Public Function CreateCollection() As Collection Dim Coll As New Collection 'Add all your conditions into a collection With Coll .Add "Condition1" .Add "Condition2" .Add "Condition3" .Add "Condition4" .Add "Condition5" .Add "Condition6" End With Set CreateCollection = Coll End Function