Вы могли бы написать функцию короткого замыкания, которая выходит из строя, когда находит значение, соответствующее критериям:
Public Function MatchesAny(ByVal value, ParamArray values()) As Boolean
Dim i As Long
For i = LBound(values) To UBound(values)
If values(i) = value Then
MatchesAny = True
Exit Function
End If
Next
End Function
И теперь вы можете сделать это:
If MatchesAny(0, var1, var2, var3, var4, var5, var6) Then
Иесли вам нужно выручить, когда какое-либо значение не не соответствует критериям, то вы можете использовать аналогичную функцию с обратной логикой:
Public Function MatchesAll(ByVal value, ParamArray values()) As Boolean
MatchesAll = True
Dim i As Long
For i = LBound(values) To UBound(values)
If values(i) <> value Then
MatchesAll = False
Exit Function
End If
Next
End Function
Использовать так:
If MatchesAll(0, var1, var2, var3, var4, var5, var6) Then