Operadores VBA


Operadores são sinais utilizados para fazer operações.

Em 3 + 4, o sinal + é um operador.


Operadores Aritméticos VBA

Operadores aritméticos são utilizados apenas para tipos numéricos, realizando operações matemáticas.

Os tipos de dados apropriados para esses operadores são:

Operador Nome Exemplo Resultado
+ Soma
Sub soma()

MsgBox 3 + 4

End Sub
Adição
7
- Subtração
Sub subtracao()

MsgBox 7 - 2

End Sub
Subtração
5
* Multiplicação
Sub multiplica()

MsgBox 4 * 2

End Sub
Multiplicação
8
/ Divisão
Sub divisao()

MsgBox 6 / 3

End Sub
Divisão
2
Mod Módulo (Resto)
Sub resto()

MsgBox 6 Mod 5

End Sub
Resto
1
^ Exponencial
Sub exponencial()

MsgBox 2 ^ 4

End Sub
Exponencial
16

Ordem de Cálculo

O Excel define como prioridade de cálculo realizar primeiro:

  1. Multiplicações, Divisões e Exponenciais
  2. Módulo (operador para encontrar o resto da divisão)
  3. Somas e Subtrações

As operações aritméticas são sempre realizadas da esquerda para direita ($\rightarrow$), seguindo a prioridade de cálculo.

    MsgBox 3+6*2/3
Ordem de operação

Neste caso 3+6*2/3, o Excel executou primeiro o 6*2, em seguida o (12)/3 e só depois o 3+(4), resultando em 7. Este cálculo pode ser representado matematicamente da seguinte forma: $3+{(6 \times 2) \over 3}$.

Lembre-se que a associação de valores às variáveis ocorre da direita para esquerda, mas a execução das operações ocorre da esquerda para direita.


Operador de Concatenação

O Excel utiliza o & "E comercial" como operador principal de concatenação de texto.

Os tipos de dados apropriados para esse operador são:

Ao se concatenar um dado de texto com outro, eles se tornam um texto único contendo as duas informações.

Sub Concatenada()

    Texto = "Olá Mundo VBA. " & "Este tutorial é incrível!"
    MsgBox Texto

End Sub

O resultado na concatenação acima será "Olá Mundo VBA. Este tutorial é incrível!". Repare que o espaço deixado no final de "Olá Mundo VBA. " deixa adequado o espaçamento entre as frases.

Concatenar

Ao concatenar números com o operador & eles se transformam em texto.

Sub ConcatenadNumeros()
    MsgBox 13 & 25
End Sub
Concatenar

O símbolo de mais (+) também pode ser usado para conectar texto. Mas evite esta prática, porque o VBA pode realizar uma soma indesejada com variáveis numéricas.

É possível concatenar múltiplos textos ao mesmo tempo.

    Nome = "Fulano"
    Recompensa = "Carro"
    MsgBox "O ganhador é " & Nome & "." & " E ganhou um " & Recompensa & "."

Não é necessário aspas duplas para variáveis, porém elas são necessárias para expressões.

Insira espaços entre as expressões concatenadas para que o Excel criar a frase com o correto espaçamento entre as palavras.


Operador de Comparação

Operadores de comparação servem para comparar duas expressões, onde o resultado será sempre True (Verdadeiro) ou False (Falso).

As operações com operadores de comparação apresentam resultado True (Verdadeiro) ou False (Falso), assim como variáveis Booleanas, portanto podem sofrer uma tradução na exibição.

Os tipos de dados apropriados para esses operadores são:

Os exemplos de operadores de comparação abaixo serão dados comparando inteiros (Integer):

Operador Descrição Exemplo Resultado
= É igual a
Sub igual()

    MsgBox 3 = 4

End Sub
Igualdade
Falso
> É maior que
Sub maior()

    MsgBox 7 > 2

End Sub
Maior
Verdadeiro
< É menor que
Sub menor()

    MsgBox 4 < 2

End Sub
Menor
Falso
>= É maior ou igual a
Sub maiorigual()

    MsgBox 6 >= 3

End Sub
Maior Igual
Verdadeiro
<= É menor ou igual a
Sub menorigual()

    MsgBox 6 <= 5

End Sub
Menor Igual
Falso
<> É diferente que
Sub diferente()

    MsgBox 2 <> 4

End Sub
Diferente
Verdadeiro

A associação de uma variável a um valor ocorre com o sinal de igual (=), exceto quando existir um comando antes:

  a=3 'Associa
  Msgbox a=4 'Compara

Caso se compare tipos de dados diferentes (E.g. numéricos com texto), poderá obter um erro:

Sub DadosDiferentes()
    MsgBox "Algum texto" = 7
End Sub
Tipos Incompatíveis

É possível utilizar os operadores =, <>, <, <=, > e >= para comparar texto.

O operador = e o operador <> terão um comportamento intuitivo, resultando em True ou False de acordo com a igualdade dos textos da esquerda e da direita.

Sub CompararTextoIgual()
    MsgBox "primeiro" = "segundo"
    'Retorna False, porque o texto é diferente
End Sub

Já os operadores <, <=, > e >= funcionam de acordo com a ordem alfabética, comparando letra a letra de cada lado, da esquerda para a direita.

Sub CompararTextoMenor()
    MsgBox "primeiro" < "segundo"
    'Retorna True, porque "p" está antes de "s" no alfabeto
End Sub

O Excel avalia a posição alfabética do primeiro caractere de cada um dos dois textos. Se ambos os caracteres forem iguais, passa a comparar o segundo e assim por diante.

Caso exista uma letra a mais em um dos lados, a comparação será como se a letra faltante fosse "", equivalente a 0.

E.g. MsgBox "primeiro" > "primeir" $\rightarrow$ True, pois "o" > ""

O Excel diferencia letras maíusculas de minúsculas.

E.g. MsgBox "VBA" = "vba" $\rightarrow$ False


Exibir Tópico Avançado


SuperExcelVBA.com é um site voltado ao aprendizado de VBA. Exemplos e explicações podem ter sido simplificados para maior e mais veloz compreensão. Estamos constantemente nos atualizando e corrigindo erros, porém não existe garantia sobre o conteúdo disponível no site. Todos os direitos reservados.

Excel ® é uma marca registrada da Microsoft Corporation.

© 2024 SuperExcelVBA | SOBRE

Protected by Copyscape