Blog

Postado em em 28 de agosto de 2020

Fórmulas de Texto no VBA

Nessa publicação vamos falar um pouco mais sobre as fórmulas de texto no VBA e como você pode utilizá-las em suas planilhas e códigos!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

O que são as fórmulas de texto no VBA?

São as fórmulas no ambiente do VBA que nos permitem modificar, extrair, transformar, converter dados do tipo texto no Excel.

Como usá-las para tratar dados?

Existem diversas fórmulas de texto no VBA que podem modificar os dados que são usados a partir do Excel. Nesse post iremos cobrir a explicação das que foram mencionadas no vídeo de exemplo, mais um da nossa série de consolidação de dados em planilhas.

Observe abaixo a tabela presente no vídeo, contendo as funções que iremos abordar:

Consolidação de Dados no Excel - Fórmulas de Texto no VBA

Fórmulas de Texto no VBA

 

Para criar o código para utilizar nossas fórmulas de texto precisamos Inserir um novo Módulo depois de abrir o VBA (Alt(+Fn)+F11), como já vimos em outros posts. Criaremos uma sub de nome qualquer para inserir o código desejado.

&

Esse operador irá juntar textos ou caracteres de texto no VBA, assim como faz no Excel.

No nosso exemplo, será responsável por colocar na célula D2 o texto “Nome: Pedro”, da seguinte forma:

Range(“D2”).Value = “Nome” & “:” & ” Pedro”

Replace – Fórmulas de Texto no VBA

A função replace (em português: substituir) irá simplesmente substituir caracteres de texto por outros, numa cadeia de texto. Irá realizar o mesmo que a função SUBSTITUIR faz no Excel.

No nosso exemplo, será responsável por substituir “r” (minúsculo) por R (maiúsculo) no texto “carro” e colocar o resultado na célula D3, como mostrado na linha de código abaixo:

Range(“D3”).Value = Replace(“carro”, “r”, “R”) => nos resulta em “caRRo”

InStr

Essa função é responsável por retornar a posição de um caractere específico (ou uma cadeia de caracteres) no texto em questão, se existente naquele texto, ou retornar 0 se aquele caractere específico (ou cadeia de caracteres) não está no texto em questão.

OBS: Lembrando que ele nos dá a primeira ocorrência desses caracteres num texto maior. Caso haja mais de uma ocorrência no texto maior, ela retornará sempre a posição da primeira.

No nosso exemplo ela será responsável por dizer se o caractere em questão está presente no texto “carro”, retornando um número maior que 0 correspondente à posição, ou nos retornando 0, se o caractere não existe naquele texto. Observe abaixo os exemplos de códigos usados no vídeo:

Range(“D4”).Value = InStr(“carro”, “a”) => resulta em 2

Porque o caractere “a” está na 2ª posição do texto.

Range(“D4”).Value = InStr(“carro”, “r”) => resulta em 3

Porque o caractere “r” está na 3ª posição do texto. Repare que ele também está na 4ª posição, mas a função nos retorna a primeira ocorrência dele no texto.

Range(“D4”).Value = InStr(“carro”, “p”) => resulta em 0

Porque o caractere “p” não existe no texto.

Left

É a função equivalente à função ESQUERDA do Excel. Ela é responsável por extrair uma quantidade de caracteres específica a partir de um texto, a partir do primeiro caractere mais à esquerda. Exemplo de código:

Range(“D5”).Value = Left(“carro”, 2)

No nosso exemplo ela irá extrair 2 caracteres do texto “carro”, nos retornando “ca”

 

Right

É a função equivalente à função DIREITA do Excel. Ela é responsável por extrair uma quantidade de caracteres específica a partir de um texto, a partir do primeiro caractere mais à direita.

No nosso exemplo ela irá extrair 2 caracteres do texto “carro”, nos retornando “ro”. Exemplo de código:

Range(“D6”).Value = Right(“carro”, 2)

Mid – Fórmulas de Texto no VBA

É a função equivalente à função EXT.TEXTO do Excel. Ela é responsável por extrair uma quantidade de caracteres específica a partir de um texto, a partir de um caractere específico especificado por você.

No nosso exemplo ela irá extrair 2 caracteres do texto “carro”, a partir do 2º caractere, nos retornando “ar” (porque o 2º caractere é o “a”; então ele pega dois contando com ele). Exemplo de código:

Range(“D7”).Value = Mid(“carro”, 2, 2)

Len

É a função equivalente à função NÚM.CARACT do Excel. Ela é responsável por extrair a quantidade de caracteres específica a partir de um texto, e nos retornar um número.

No nosso exemplo ela irá extrair a quantidade de caracteres presentes no texto “carro”, e nos retornando 5. Exemplo de código:

Range(“D8”).Value = Len(“carro”)

Ucase (Upper case)

É a função equivalente à função MAIÚSCULA do Excel. É responsável por colocar os caracteres de um texto em caixa alta, nos retornando o mesmo texto com todas as letras em maiúscula.

No nosso exemplo ela irá atuar transformando o texto “carro” em “CARRO”. Exemplo de código:

Range(“D9”).Value = Ucase(“carro”)

Lcase (Lower case) – Fórmulas de Texto no VBA

É a função equivalente à função MINÚSCULA do Excel. É responsável por colocar os caracteres de um texto em caixa baixa, nos retornando o mesmo texto com todas as letras em minúscula.

No nosso exemplo ela irá atuar transformando o texto “CARRO” em “carro”. Exemplo de código:

Range(“D10”).Value = Lcase(“CARRO”)

É fundamental conhecer as fórmulas de texto no VBA, para ter um leque de opções para extrair, transformar, usar os dados de outras formas, caso você precise. Essas fórmulas são importantes para ajudar na nossa série em que vamos juntar planilhas em uma só.

Fique ligado no nosso Blog para mais conteúdo de VBA e no nosso canal do Youtube para mais conteúdo de VBA, Excel e Power BI. Até a próxima!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um Minicurso Gratuito?


Quer sair do zero em Python e virar uma referência na sua empresa? Matricule-se agora mesmo no Python Impressionador!