Попытка вернуть значение L, M, H на основе значений двух входов. Вот что у меня есть:VBA, если else не возвращает правильные значения
If (80 <= x <= 120 And y > 120) Or (x > 120 And y > 120) Or (x > 120 And 80 <= y <= 120) Then
CDI = "H"
ElseIf (x < 80 And y <= 120) Or (x < 120 And y < 80) Then
CDI = "L"
ElseIf (x < 80 And y > 120) Or (80 <= x <= 120 And 80 <= y <= 120) Or (x > 120 And y < 80) Then
CDI = "M"
End If
Возвращаемые значения не то, что мне нужно. Например, (0,291) возвращает H, когда он должен быть явно M. Почему?
ДУХ, большое спасибо который зафиксировал это. Я новичок в VBA, но сделал плохое предположение, что он может действовать как python. Еще раз спасибо! – jluk
@Robert, поэтому он обрабатывает 'переменную переменную условия' как выражение' или'? – Elias
@Elias: Я думаю, что он, вероятно, имеет больше общего с порядком операций, и способ, которым результаты вычислений интерпретируются как логические значения, но я действительно не проверял. –