Как использовать если не в 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 вложенный ЕСЛИ