Operadores VBA e funções integradas

Instruções do Excel VBA

Ao escrever código VBA no Excel, um conjunto de operadores integrados é usado em cada etapa. Esses operadores são divididos em operadores matemáticos, de string, de comparação e lógicos. A seguir, veremos cada grupo de operadores em detalhes.

Operadores matemáticos

Os principais operadores matemáticos do VBA estão listados na tabela abaixo.

A coluna direita da tabela mostra a precedência do operador padrão na ausência de parênteses. Ao adicionar parênteses a uma expressão, você pode alterar a ordem na qual as instruções VBA são executadas conforme desejar.

operadorAçao Socialprioridade

(1 – mais alto; 5 – mais baixo)

^operador de exponenciação1
*operador de multiplicação2
/operador de divisão2
Divisão sem resto – retorna o resultado da divisão de dois números sem resto. Por exemplo, 74 retornará o resultado 13
CoragemOperador de módulo (resto) – retorna o resto após a divisão de dois números. Por exemplo, 8 Contra 3 retornará o resultado 2.4
+Operador de adição5
-operador de subtração5

Operadores de string

O operador de string básico no Excel VBA é o operador de concatenação & (fusão):

operadorAçao Social
&operador de concatenação. Por exemplo, a expressão «A» e «B» retornará o resultado AB.

Operadores de comparação

Os operadores de comparação são usados ​​para comparar dois números ou strings e retornar um valor booleano do tipo Booleano (Verdadeiro ou falso). Os principais operadores de comparação do Excel VBA estão listados nesta tabela:

operadorAçao Social
=Igualmente
<>Não igual
<Menos
>Больше
<=Menor ou igual
>=Maior ou igual

Os operadores lógicos

Operadores lógicos, como operadores de comparação, retornam um valor booleano do tipo Booleano (Verdadeiro ou falso). Os principais operadores lógicos do Excel VBA estão listados na tabela abaixo:

operadorAçao Social
Eoperação de conjunção, operador lógico И. Por exemplo, a expressão A e B retornará Verdadeiro, Se A и B ambos são iguais Verdadeiro, caso contrário, retorne Falso.
OrOperação de disjunção, operador lógico OR. Por exemplo, a expressão A ou B retornará Verdadeiro, Se A or B são iguais Verdadeiro, e vai voltar Falso, Se A и B ambos são iguais Falso.
NãoOperação de negação, operador lógico NÃO. Por exemplo, a expressão Não A retornará Verdadeiro, Se A igualmente Falso, ou retornar Falso, Se A igualmente Verdadeiro.

A tabela acima não lista todos os operadores lógicos disponíveis no VBA. Uma lista completa de operadores lógicos pode ser encontrada no Visual Basic Developer Center.

Funções incorporadas

Existem muitas funções internas disponíveis no VBA que podem ser usadas ao escrever código. Abaixo estão listados alguns dos mais usados:

funçãoAçao Social
AbsRetorna o valor absoluto do número fornecido.

Exemplo:

  • Abs (-20) retorna o valor 20;
  • abdominais(20) retorna o valor 20.
ChrRetorna o caractere ANSI correspondente ao valor numérico do parâmetro.

Exemplo:

  • Chr (10) retorna uma quebra de linha;
  • Chr (97) retorna um caractere a.
DataRetorna a data atual do sistema.
Data AdicionarAdiciona um intervalo de tempo especificado à data especificada. Sintaxe da função:

DateAdd(интервал, число, дата)

Onde está o argumento intervalo determina o tipo de intervalo de tempo adicionado ao dado dados na quantidade especificada no argumento número.

Argumento intervalo pode assumir um dos seguintes valores:

IntervaloValor
aaaaano
qtrimestre
mmês
ydia do ano
ddia
wdia da semana
wwsemana
hhora
nminuto
ssegundo

Exemplo:

  • DataAdicionar(«d», 32, «01/01/2015») adiciona 32 dias à data 01/01/2015 e assim retorna a data 02/02/2015.
  • DataAdicionar(«ww», 36, «01/01/2015») adiciona 36 semanas à data 01/01/2015 e retorna a data 09/09/2015.
Diferença de dataCalcula o número de intervalos de tempo especificados entre duas datas fornecidas.

Exemplo:

  • DateDiff(«d», «01/01/2015», «02/02/2015») calcula o número de dias entre 01/01/2015 e 02/02/2015, retorna 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») calcula o número de semanas entre 01/01/2015 e 03/03/2016, retorna 61.
DiaRetorna um número inteiro correspondente ao dia do mês na data especificada.

Exemplo: Dia(«29/01/2015») retorna o número 29.

horaRetorna um número inteiro correspondente ao número de horas no horário especificado.

Exemplo: Hora(«22:45:00») retorna o número 22.

InstrEle recebe um inteiro e duas strings como argumentos. Retorna a posição de ocorrência da segunda string dentro da primeira, iniciando a busca na posição dada por um inteiro.

Exemplo:

  • InStr(1, “Aqui está a palavra de busca”, “palavra”) retorna o número 13.
  • InStr(14, “Aqui está a palavra de pesquisa e aqui está outra palavra de pesquisa”, “palavra”) retorna o número 38.

Observação: O argumento número não pode ser especificado, nesse caso a pesquisa começa a partir do primeiro caractere da string especificada no segundo argumento da função.

intRetorna a parte inteira do número fornecido.

Exemplo: Int(5.79) retorna o resultado 5.

é dataReturns Verdadeirose o valor fornecido for uma data, ou Falso – se a data não for.

Exemplo:

  • ÉData(«01/01/2015») Retorna Verdadeiro;
  • DataIs(100) Retorna Falso.
ÉErroReturns Verdadeirose o valor fornecido for um erro, ou Falso – se não for um erro.
Está desaparecidoO nome de um argumento de procedimento opcional é passado como argumento para a função. Está desaparecido Retorna Verdadeirose nenhum valor foi passado para o argumento do procedimento em questão.
É NuméricoReturns Verdadeirose o valor fornecido pode ser tratado como um número, caso contrário retorna Falso.
EsquerdoRetorna o número especificado de caracteres desde o início da string fornecida. A sintaxe da função é assim:

Left(строка, длина)

onde linha é a string original, e comprimento é o número de caracteres a serem retornados, contando a partir do início da string.

Exemplo:

  • Esquerda(“abvgdejziklmn”, 4) retorna a string “abcg”;
  • Esquerda(“abvgdejziklmn”, 1) retorna a string “a”.
LenRetorna o número de caracteres em uma string.

Exemplo: Len (“abcdej”) retorna o número 7.

MêsRetorna um número inteiro correspondente ao mês da data especificada.

Exemplo: Mês(«29/01/2015») retorna o valor 1.

MédioRetorna o número especificado de caracteres do meio da string fornecida. Sintaxe da função:

Meio(linha, começo, comprimento)

onde linha é a corda original começo – a posição do início da string a ser extraída, comprimento é o número de caracteres a serem extraídos.

Exemplo:

  • Médio(“abvgdejziklmn”, 4, 5) retorna a string “onde”;
  • Médio(“abvgdejziklmn”, 10, 2) retorna a string “cl”.
MinutoRetorna um número inteiro correspondente ao número de minutos no tempo determinado. Exemplo: Minuto(«22:45:15») retorna o valor 45.
AtualRetorna a data e hora atuais do sistema.
CertoRetorna o número especificado de caracteres do final da string fornecida. Sintaxe da função:

Certo(linha, comprimento)

Onde linha é a string original, e comprimento é o número de caracteres a serem extraídos, contando a partir do final da string fornecida.

Exemplo:

  • Direita(«abvgdezhziklmn», 4) retorna a string “clmn”;
  • Direita(«abvgdezhziklmn», 1) retorna a string “n”.
SegundoRetorna um número inteiro correspondente ao número de segundos no tempo determinado.

Exemplo: Segundo(«22:45:15») retorna o valor 15.

quadradoRetorna a raiz quadrada do valor numérico passado no argumento.

Exemplo:

  • Quadrado(4) retorna o valor 2;
  • Quadrado(16) retorna o valor 4.
HorárioRetorna a hora atual do sistema.
UboundRetorna o sobrescrito da dimensão da matriz especificada.

Observação: Para matrizes multidimensionais, um argumento opcional pode ser o índice de qual dimensão retornar. Se não for especificado, o padrão é 1.

anoRetorna um inteiro correspondente ao ano da data especificada. Exemplo: Ano(«29/01/2015») retorna o valor 2015.

Esta lista inclui apenas uma seleção das funções internas do Excel Visual Basic mais usadas. Uma lista exaustiva de funções VBA disponíveis para uso em macros do Excel pode ser encontrada no Visual Basic Developer Center.

Deixe um comentário