Как использовать если не в vba?
В VBA, когда вы используете оператор IF , он выполняет строку кода, если условие, которое вы указали для проверки, имеет значение TRUE. Но когда вы используете оператор NOT с IF, он проверяет, не является ли указанное вами условие TRUE, и выполняет код на основе этого.
Это похоже на выполнение противоположного оператора IF: TRUE к FALSE и FALSE к TRUE.
Допустим, вы хотите проверить, является ли A < B, и если это условие истинно, IF вернет TRUE, верно? Но когда вы используете IF NOT A < B, он вернет FALSE.
Примечание. НЕ является логическим оператором.
Примеры использования VBA ЕСЛИ НЕТ
Здесь мы увидим простой пример, чтобы понять это:

Sub myMacro() Dim A As Range, B As Range Set A = Range("A1") Set B = Range("B1") If Not A < B Then MsgBox "A is not greater than B." Else MsgBox "B is not greater than A." End If End Sub
В приведенном выше коде вы использовали оператор NOT, чтобы проверить, не больше ли B, чем A.
Если вы посмотрите на оператор условия, вы поймете, что фактическое условие, которое нужно проверить, — это если B больше, чем A, но, поскольку мы использовали оператор NOT, он вернет FALSE, если условие истинно.

Вот еще один пример, который вы можете использовать, чтобы понять это.
Sub myMacro() If Not ActiveSheet.Name = Sheets("Sheet1").Name Then Sheets("Sheet1").Activate End If End Sub
Теперь в этом коде вы использовали NOT с IF, чтобы узнать, является ли активным листом Sheet1 или нет, а если это не так, указанная нами строка кода активирует Sheet1 .
Связанные руководства
- Выход из VBA, ЕСЛИ
- VBA ЕСЛИ (ЕСЛИ, то еще)
- VBA ЕСЛИ И
- VBA ЕСЛИ ИЛИ
- VBA вложенный ЕСЛИ