Como usar if not no vba?
No VBA, quando você usa a instrução IF , ela executa uma linha de código se a condição que você especificou para testar for TRUE. Mas quando você usa o operador NOT com IF, ele verifica se a condição especificada não é VERDADEIRA e executa o código com base nisso.
É como fazer a instrução IF oposta, TRUE para FALSE e FALSE para TRUE.
Digamos que você queira testar se A < B, e se esta condição for verdadeira IF retornará TRUE, certo? Mas quando você usa IF NOT A <B, retornará FALSE.
Nota: NOT é um operador lógico.
Exemplos de uso de VBA SE NÃO
Aqui veremos um exemplo simples para entendê-lo:
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
No código acima, você usou o operador NOT para testar se B não é maior que A.
Se você observar a declaração de condição, poderá entender que a condição real a ser testada é se B for maior que A, mas como usamos a declaração NOT, ela retornará FALSE se a condição for VERDADEIRA.
Aqui está outro exemplo que você pode usar para entendê-lo.
Sub myMacro() If Not ActiveSheet.Name = Sheets("Sheet1").Name Then Sheets("Sheet1").Activate End If End Sub
Agora neste código, você usou NOT com IF para ver se a planilha ativa é Sheet1 ou não, e se não for, a linha de código que especificamos irá ativar Sheet1 .