Использование функций If And Or в VBA для ссылки на TextBox и ячейки - PullRequest
0 голосов
/ 06 августа 2020

У меня проблемы с правильным синтаксисом следующего кода. Надеюсь, что кто-нибудь сможет мне помочь. Диапазон «Base_Point» относится к конкретной ячейке (например, G3).

Вот что я пытаюсь express в своей кодировке: если значение TextBox6 = 1 И Base_Point = 1 или 3 или 5 или 7, затем Z_End минус значение TexBox5, иначе Z_End плюс значение TextBox5.

IIF (AND(TextBox6.Value = 1) OR (Base_Point=1,Base_Point=3,Base_Point=5,Base_Point=7),Z_End-" & TextBox5 & " Z_End+" & TextBox5 & ")

Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Если вам нужно использовать IIF, попробуйте следующий способ, пожалуйста:

Debug.Print IIf(TextBox6.Value = 1 And (Base_Point = 1 Or Base_Point = 3 _
                                    Or Base_Point = 5 Or Base_Point = 7), _
                                     Z_End - TextBox5, Z_End + TextBox5)

В противном случае я бы (также) использовал Select Case ...

0 голосов
/ 06 августа 2020

Так как вы новичок, то не go за такие "сложные" коды. Будь проще. Как только вы станете лучше разбираться в коде, попробуйте это. Всегда верить в принцип KISS.

Это то, что вы пытаетесь сделать? (Не проверено)

If TextBox1.Value = 1 Then
    Select Case Base_Point
        Case 1, 3, 5, 7
            '
            ' Do what you want if condition is true
            '
        Case Else
            '
            ' Do what you want if condition is false
            '
    End Select
Else
    '
    ' Do what you want if condition is false
    '
End If
...