VBA SE NÃO

SE NÃO estiver em VBA

As funções lógicas são úteis para os cálculos que requerem várias condições ou critérios para serem testados. Em nossos artigos anteriores, vimos as condições “VBA IF”, “VBA OR” e “VBA AND”. Neste artigo, discutiremos a função “VBA IF NOT”. Antes de apresentar a função VBA IF NOT, deixe-me mostrar primeiro a função VBA NOT.

O que NÃO é função no VBA?

“NÃO” é uma das funções lógicas que temos com o Excel e VBA. Todas as funções lógicas requerem que testes lógicos sejam conduzidos e retornem TRUE se o teste lógico estiver correto, se o teste lógico não estiver correto então retornará FALSE como o resultado.

Mas “VBA NOT” é completamente o oposto da outra função lógica. Eu diria que esta é a função inversa das funções lógicas.

A função “VBA NOT” retorna “FALSE” se o teste lógico estiver correto e se o teste lógico não estiver correto retornará “TRUE”. Agora, observe a sintaxe da função “VBA NOT”.

NÃO (teste lógico)

Isso é muito simples, precisamos fornecer o teste lógico. A função NOT avalia o teste e retorna o resultado.

Exemplos de função NOT & IF em VBA?

Abaixo estão os exemplos de uso da função IF e NOT no Excel VBA.

Você pode baixar este modelo VBA IF NOT Excel aqui - modelo VBA IF NOT Excel

Exemplo 1

Dê uma olhada no código abaixo para um exemplo.

Código:

 Sub NOT_Example () Dim k As String k = Not (100 = 100) MsgBox k End Sub 

No código acima, declarei a variável como String.

 Dim k As String 

Então, para esta variável, atribuí a função NOT com o teste lógico como 100 = 100.

k = Não (100 = 100)

Em seguida, escrevi o código para mostrar o resultado na caixa de mensagem do VBA. MsgBox k

Agora vou executar o código e ver o resultado.

Obtivemos o resultado como “FALSE”.

Agora, olhe novamente para o teste lógico. Fornecemos o teste lógico como 100 = 100, que geralmente é TRUE, uma vez que demos a função NOT, obtemos o resultado como FALSE. Como eu disse, no começo, ele dá resultados inversos em comparação com outras funções lógicas. Como 100 é igual a 100, o resultado foi retornado como FALSO.

Exemplo # 2

Agora, olhe para mais um exemplo com números diferentes.

Código:

 Sub NOT_Example () Dim k As String k = Not (85 = 148) MsgBox k End Sub 

O código é o mesmo, a única coisa que mudei aqui foi que mudei o teste lógico de 100 = 100 para 85 = 148.

Agora vou rodar o código e ver qual é o resultado.

Desta vez, obtivemos o resultado TRUE. Agora examine o teste lógico.

k = Não (85 = 148)

Todos nós sabemos que 85 não é igual ao número 148. Como não é igual, a função NOT retornou o resultado como TRUE.

NÃO com condição IF:

No Excel ou VBA, quaisquer condições lógicas não são completas sem a combinação condição IF. Usando IF na condição do excel, podemos fazer muito mais coisas além do padrão TRUE ou FALSE. Por exemplo, nos exemplos acima, obtivemos resultados padrão FALSE & TRUE, em vez disso, podemos modificar o resultado em nossas próprias palavras.

Olhe o código abaixo.

Código:

 Sub NOT_Example2 () Dim Number1 As String Dim Number2 As String Number1 = 100 Number2 = 100 If Not (Number1 = Number2) Then MsgBox "O número 1 não é igual ao número 2" Else MsgBox "Número 1 é igual ao número 2" End If End Sub 

Eu declarei duas variáveis.

 Dim Number1 As String e Dim Number2 As String 

Para essas duas variáveis, atribuí os números de 100 e 100, respectivamente.

Número1 = 100 e Número2 = 100

Então, para a função NOT, anexei a condição IF para alterar o padrão TRUE ou FALSE. Se o resultado da função NOT for TRUE, meu resultado será o seguinte.

MsgBox “O número 1 não é igual ao número 2”

Se o resultado da função NOT for FALSE, meu resultado será o seguinte.

MsgBox “Número 1 é igual a Número 2”

Agora irei executar o código e ver o que acontece.

Obtemos o resultado como “Número 1 é igual a Número 2”, então a função NOT retornou o resultado FALSO para a condição IF, então a condição IF retornou este resultado.

Assim, podemos usar a condição IF para fazer o teste inverso.