Os sinais e palavras-chave que usamos para operar variáveis no VBA são chamados de Operadores VBA. Por exemplo, nas linhas abaixo das linhas =, +,>, & são operadores.
sub Examp () a = 12 b = 10 c = a + b debug.print "A soma de aeb é" & c end sub
Existem cinco tipos de operadores em qualquer linguagem de programação, portanto, em VBA
1. Operador de Atribuição
2. Operador Aritmético
3. Operador de comparação
4. Operador lógico
5. Operador de concatenação
Vamos dar uma olhada em cada tipo de Operador no Excel VBA.
1. Operador de Atribuição (=)
Este é o primeiro operador que você usará em qualquer linguagem de programação. No VBA, é usado para atribuir valores às variáveis. É "=" (igual a).
Usamos este operador para atribuir valores a variáveis no Excel VBA. Ele também é usado como um operador de comparação no VBA. Falaremos sobre isso mais tarde neste tutorial.
Um exemplo simples é
subteste () a = 10 Faixa ("A1"). valor = a final sub
No exemplo acima, primeiro usamos o operador de atribuição "=" para atribuir valor à variável "a" e, em seguida, usamos o operador "=" para atribuir o valor de "a" ao valor de Range ("A1").
2. Operadores aritméticos
Os operadores aritméticos são os mesmos operadores que usamos desde a infância para fazer cálculos simples. No Excel VBA, esses operadores são usados para fazer cálculos em variáveis e números. Eles são:
(+) Adição Aritmética:Este operador é usado para adicionar dois ou mais números ou valores de duas ou mais variáveis. As linhas abaixo somam os valores das duas variáveis e imprime na Célula "A1".
Subteste () a = 10 b = 12 Faixa ("A1"). Valor =a + b End Sub
A1 terá 22. Este operador também funciona como um operador de concatenação. Se ambos, aeb terão os valores de string, o operador + funcionará como um operador de concatenação. Veremos como, mais tarde neste artigo.
(-) Subtração Aritmética:Este operador é usado para subtrair um valor de outro valor de variáveis. A linha abaixo subtrai o valor de a de be imprime-o na célula "A1".
Subteste () a = 10 b = 12 Faixa ("A1"). Valor =BA End Sub
A1 na folha terá 2.
(*) Multiplicação aritmética:Este operador é usado para multiplicar ou obter o produto de dois ou mais números ou valores de duas ou mais variáveis. As linhas abaixo multiplica os valores das duas variáveis e imprime na Célula "A1".
Subteste () a = 10 b = 12 Faixa ("A1"). Valor =a * b End Sub
A célula A1 terá o valor 120.
(/) Divisão Aritmética:Este operador é usado para dividir um valor de outro. A linha abaixo divide o valor b pela variável a e o imprime na célula "A1".
Subteste () a = 10 b = 12 Faixa ("A1"). Valor =BA End Sub
A célula A1 terá o valor 1,2.
(Mod) Operador de restante aritmético em VBA: Enquanto a maioria dos PLs usa% (módulo) para obter o restante, no VBA usamos a palavra-chave Mod. Este operador é usado para obter o lembrete depois de dividir um valor de outro. A linha abaixo divide o valor b pela variável a e imprime o valor do lembrete na célula A1.
Subteste () a = 10 b = 4 Faixa ("A1"). Valor =a Mod b End Sub
A célula A1 terá o valor 2.
(^) Exponencial aritmético:Este operador é usado para obter o expoente de um valor para outro. As linhas abaixo nos fornecem o valor de 3 para o 4 exponencial.
Subteste () a = 3 b = 4 Faixa ("A1"). Valor =a b End Sub
A célula A1 terá o valor 81 (3x3x3x3).
Esses operadores em VBA seguem a regra BODMAS. Existem apenas 6 operadores aritméticos no VBA. Existem alguns operadores que atuam como dois tipos de operadores, como +. Você aprenderá sobre eles ao longo deste tutorial.
3. Operadores de comparação
Quando queremos comparar dois valores em VBA, usamos os operadores de comparação. O resultado do operador de comparação é sempre booleano. Se a afirmação for verdadeira, o resultado será VERDADEIRO. Se a afirmação for falsa, o valor será False. Esses operadores são freqüentemente usados na tomada de decisões em VBA. Vamos ver o que são:
(=) Igual a:Sim, o sinal = (igual a) também é usado como operador de comparação no VBA. Quando queremos verificar se as duas variáveis são iguais ou não, usamos este operador de comparação.
Sub Test () a = 3 b = 4 Se a = b então 'Ele retornará false MsgBox "O aeb são iguais." 'isso não será executado. Else MsgBox "O aeb não são iguais" End IF End Sub
No exemplo acima, usamos a instrução If e verificamos se os valores de a e b são iguais. Eles claramente não são. Portanto, a instrução Else é impressa.
Você pode verificar isso simplesmente usando a instrução.
a = 3 b = 4 debug.print a = b
Isso imprimirá False na janela imediata.
(<) Menor que:Isso é usado para verificar se o valor à esquerda é menor que o valor à direita ou não.
Subteste () a = 3 b = 4 Se a
No exemplo acima, verificamos se o valor de a é menor que b. Como isso é True, a instrução if é executada e Else não.
Você pode verificar isso simplesmente usando a instrução.
a = 3 b = 4 debug.print a<>
Isso imprimirá True na janela imediata.
(<=) Menor ou igual a:Isso é usado para verificar se o valor da esquerda é menor ou igual ao valor da direita ou não.
SubTeste () a = 4 b = 4 Se a <= b então 'Ele retornará True MsgBox "O a é menor ou igual a b." 'isso será executado. Else MsgBox "O a não é igual ou menor que b." 'isso não será executado. End IF End Sub
No exemplo acima, verificamos se o valor de a é menor que b. Como isso é True, a instrução If é executada e Else não.
Você pode verificar isso simplesmente usando a instrução.
a = 4 b = 4 debug.print a <-b
Isso imprimirá True na janela imediata.
(>) Maior que:Isso é usado para verificar se o valor à esquerda é maior que o valor à direita ou não.
SubTeste () a = 3 b = 4 Se a> b então 'Ele retornará False MsgBox "O a é maior que b." 'Isso não será executado. Else MsgBox "O a não é maior que b." 'Isso será executado. End IF End Sub
No exemplo acima, verificamos se o valor de a é maior que b. Como isso é False, a instrução if não será executada e Else sim.
Você pode verificar isso simplesmente usando a instrução.
a = 3 b = 4 debug.print a> b
Isso imprimirá False na janela imediata.
(> =) Maior que:Isso é usado para verificar se o valor à esquerda é maior ou igual ao valor à direita ou não.
SubTeste () a = 3 b = 4 Se a> = b então 'Ele retornará False MsgBox "O a é maior ou igual a b." 'Isso não será executado. Else MsgBox "O a não é maior ou igual a b." 'Isso será executado. Fim se
No exemplo acima, verificamos se o valor de a é maior ou igual a b. Visto que isso é False, a instrução if não será executada e Else sim.
Você pode verificar isso simplesmente usando a instrução.
a = 3 b = 4 debug.print a> = b
Isso imprimirá False na janela imediata.
() Diferente de:Isso é usado para verificar se o valor à esquerda não é igual ao valor à direita.
Sub Test () a = 3 b = 4 Se ab então 'Ele retornará True MsgBox "O a não é igual ab,"' Isso será executado. Else MsgBox "O a e b são iguais." 'Isso não será executado. End IF End Sub
No exemplo acima, verificamos se o valor de a é não é igual a b. Como isso é True, a instrução If será executada e Else não.
Você pode verificar isso simplesmente usando a instrução.
a = 3 b = 4 debug.print ab
Isso imprimirá True na janela imediata.
Os seis operadores acima são chamados de operadores de comparação, pois os usamos para comparar dois valores ou variáveis. Você os usará muito no VBA para tomar decisões no VBA.
4. Operadores lógicos
Operadores lógicos são usados para fazer operações lógicas em uma ou mais variáveis. O resultado de tais operações sempre resulta em VERDADEIRO ou FALSO. Os operadores lógicos freqüentemente (nem sempre) são usados para verificar mais de uma condição.
Abaixo estão os operadores lógicos que usamos no VBA:
Operador VBA AND (E ou *): O operador VBA AND é usado para garantir que as condições à sua esquerda e à direita sejam verdadeiras. Se qualquer uma das condições for False, toda a instrução resultará em False. Usamos a palavra-chave And ou o sinal * (asterisco) para operações AND.
Confira a declaração abaixo:
Subteste () a = 10 b = 20 Se a <15 eb <15, então MsgBox "aeb são menores que 15." 'Isso não é executado. Else MsgBox "Ou a ou b é maior ou igual a 15." 'Isso é executado. End If End Sub
Quando executamos o trecho acima, a segunda instrução if não é executada. Porque a primeira afirmação à esquerda é verdadeira, mas a afirmação à direita é falsa. Portanto, toda a instrução retorna False.
Na maioria dos idiomas, o símbolo & é usado como operador AND, mas não no VBA. No VBA, você pode usar o operador de multiplicação * (asterisco) como operador AND para garantir que ambas as condições sejam verdadeiras.
No exemplo acima, você pode usar a instrução if abaixo para fazer o mesmo.
Se (a <15) * (b <15) Então
Você deve usar parênteses para separar as declarações condicionais. Caso contrário, as declarações seguirão a regra BODMAS e o resultado será impreciso.
Q1: Qual será o resultado da declaração abaixo? Deixe-me saber na seção de comentários abaixo:
debug.print a10 AND a = (b / 2) AND a<>
Quando o valor de a é 15 e b é 30. Anote na seção de comentários abaixo.
Operador VBA OR (ou ou +): O operador OR é usado quando queremos garantir que a condição Left seja TRUE ou a condição Right seja TRUE. Se qualquer uma das duas condições for verdadeira, o resultado será verdadeiro. Usamos a palavra-chave OR entre duas declarações booleanas. Você também pode usar o sinal + (mais) para a operação OR. Apenas certifique-se de usar parênteses corretamente para tornar as declarações claras ao usar o sinal +.
Examine o código abaixo:
Subteste () a = 10 b = 20 Se a <15 ou b <15, então MsgBox "Ou a ou b é menor que 15." 'Isso é executado. Else MsgBox "Nem a nem b é menor que 15." 'Isso não é executado. End If End Sub
Quando executamos o código acima, a primeira mensagem é exibida e a segunda mensagem é ignorada. Porque a é menor que 15 e b não é. Leva apenas uma condição para ser True com o operador OR para obter a saída como verdadeira.
Você escreve a declaração como:
Se (a <15) + (b <15) Então
Q2: Qual será o resultado da declaração abaixo? Deixe-me saber na seção de comentários abaixo:
debug.print a10 Ou a = (b / 2) ou a<>
Quando o valor de a é 10 e b é 5. Anote na seção de comentários abaixo.
Operador VBA NOT (não): O operador Not é usado para inverter o valor booleano. Em outras palavras, a instrução com o operador Not só retorna True se a instrução anterior for False. Por exemplo, se você usar a palavra-chave Not antes de uma afirmação verdadeira, resultará em Falsa e vice-versa. No VBA, usamos o Não palavra-chave para verificar se algo não é verdadeiro ou falso (?).
Subteste () a = 10 b = 10 Se não a = b então MsgBox "aeb não são iguais." Else MsgBox "aeb são iguais." 'Isso é executado End If End Sub
No código acima, a declaraçãoNão a = bretornará falso. Inicialmente, a = b é verdadeiro, mas como usamos Not antes dele, o resultado é invertido e a instrução se torna falsa. No exemplo acima, usamos as únicas instruções anteriores. Você pode ter quantas instruções quiser antes do operador Not. Basta colocá-los entre parênteses.
Q3: Qual será o resultado da declaração abaixo? Deixe-me saber na seção de comentários abaixo:
debug.print a10 Ou não (a = (b / 2) * a<>
Quando o valor de a é 10 e b é 5. Anote na seção de comentários abaixo.
5. Operadores de concatenação (& ou +)
Esses operadores são usados para concatenar strings. O símbolo & é usado para concatenar textos. É o operador recomendado para concatenar strings. No entanto, você também pode usar o sinal + para concatenar.
O sinal de mais concatena apenas duas variáveis quando ambas são strings. Se qualquer string não for string, o sinal + funcionará como um operador de adição.
Veja o código abaixo:
Subteste () a = "Exceltip" b = "é o número" c = 1 d = 2 Debug.print a & b & c 'isto irá imprimir "Exceltip é o número 1" Debug.print a + b & c & d' isto irá imprimir "Exceltip é o número 12 'Debug.print a + b + c' isso será um erro. End Sub
No código acima, as duas primeiras linhas funcionarão perfeitamente bem. A terceira linha apresentará um erro porque estamos tentando adicionar texto com números. Para concatenar números, sempre usamos o & (amp).
Operadores multifuncionais em VBA
Por meio dos exemplos acima, você deve ter aprendido que existem muitos operadores que trabalham de maneira diferente em diferentes situações.
O sinal + funciona como o operador de adição ao trabalhar com números. Ao trabalhar com valores booleanos, o sinal de mais funciona como o operador Or no VBA. Quando usado com valores de string, o operador mais funciona como um operador de concatenação. As linhas abaixo são válidas:
Debug.Print 10 + 20 'imprime 30. + funciona como operador de adição. Debug.Print (1020) 'imprime True. + funciona como operador Or. Debug.Print "10" + "20" 'Imprime 1020. O sinal + funciona como operador de concatenação.
O sinal de asterisco (*) funciona como um operador de multiplicação quando os operandos são numéricos. Quando os operandos são booleanos, o asterisco funciona como o operador And.
As linhas de código abaixo funcionam perfeitamente bem.
Debug.Print 10 * 20 'imprime 200. O * funciona como operador de multiplicação. Debug.Print (1020) 'imprime False. O sinal + funciona como operador And.
Então sim pessoal, tudo isso é sobre os operadores no VBA. Espero que tenha sido útil. Se você tiver alguma dúvida em relação aos operadores em VBA, pergunte na seção de comentários abaixo.
A instrução If ElseIf no VBA | Na instrução If ElseIf, a próxima condição só é verificada quando a condição anterior cai. Quando uma condição é correspondida, o código naquele bloco é executado e o controle sai do bloco If.
Escopo de variável do Excel VBA | O VBA também tem especificadores de escopo. Esses especificadores de escopo podem ser usados para definir a visibilidade / escopo de uma variável no Excel VBA.
VBA Select Case Statement | As declarações de caso selecionado são úteis quando você tem muitas condições para verificar. Eles são excelentes substituições de várias instruções If ElseIf.
Usando Loop em VBA no Microsoft Excel | Os loops no VBA nos permitem fazer uma tarefa semelhante continuamente, sem repetição de código. Existem 3 tipos de loops no Excel VBA.
Argumentos ByRef e ByVal | Quando um argumento é passado como um argumento ByRef para uma subfunção ou função diferente, a referência da variável real é enviada. Quaisquer alterações feitas na cópia da variável, serão refletidas no argumento original.
Exibir uma mensagem na barra de status do Excel VBA A barra de status no Excel pode ser usada como um monitor de código. Quando seu código VBA é longo e você executa várias tarefas usando o VBA, geralmente desativa a atualização da tela para não ver a tela piscando
Desativar mensagens de aviso usando VBA no Microsoft Excel 2016 | Este código não apenas desativa alertas VBA, mas também aumenta a eficiência de tempo do código. Vamos ver como.
Artigos populares:
50 atalhos do Excel para aumentar sua produtividade | Torne sua tarefa mais rápida. Esses 50 atalhos farão você trabalhar ainda mais rápido no Excel.
A função VLOOKUP no Excel | Esta é uma das funções mais usadas e populares do Excel, que é usada para pesquisar valores em diferentes intervalos e planilhas.
COUNTIF no Excel 2016 | Conte valores com condições usando esta função incrível. Você não precisa filtrar seus dados para contar um valor específico. A função Countif é essencial para preparar seu painel.
Como usar a função SUMIF no Excel. Esta é outra função essencial do painel. Isso ajuda você a somar valores em condições específicas.