IIf для назначения значений переменных внутри IIf - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь понять, почему я не могу использовать IIf таким образом, чтобы присвоить значение переменной.

dim i as integer
dim j as integer

i = 1
j = 2

if i = 1 or iif(j = i, j = 10, j = 20) then
    msgbox j
end if

Я знаю, что могу использовать IIf для присвоения переменной следующим образом:

j = IIf(1 = 2, 5, 10)

j в этом случае будет равно 10.

1 Ответ

1 голос
/ 12 апреля 2019

Обходной путь будет следующим:

Dim i As Integer
i = 1

Dim j As Integer
j = 2

Select Case i
    Case 1
        'Do nothing
    Case j
        j = 10
    Case Else
        j = 20
End Select

MsgBox j
...