Я хочу создать функцию или подпункт, который принимает любое количество булевых условий и добавляет их в оператор IF. Код я представить себе выглядит следующим образом:VBA ParamArray «условия», которые будут использоваться в заявлении IF
Function comp (ParamArray list() As Variant)
If (list(0) = True) And (list(1) = true) ..... (list(last) = true) then
'random code
End If
End Function
где список() будет как выражения, как:
x = y-1,somethingToCompare <> anotherThing, etc...
Было бы интересно, если бы я мог бы добавить «и» в качестве еще одного аргумента, чтобы изменить на "или" если бы я хотел.
Function comp (VyVal compare as Boolean, ParamArray list() As Variant)
dim comparison as String???
If compare then
comparison = "and"
else
comparison = "or"
end if
If (list(0) = True) comparison (list(1) = true) ..... (list(last) = true) then
'random code
End If
End Function
Конечная идея заключается в том, чтобы использовать эту функцию, как это:
Sub code()
if comp(True, condition1, condition2, ...) then
'random code'
End Sub
Избегайте непосредственно глядя на этот код я написал чтобы не обжечь глаза.
Это что-то вроде этого, или я должен получить леденец?
Возможно, я смотрю на это не так, и есть более простой способ сделать что-то подобное или даже лучше.