Olá, bem vindo (a) a mais um artigo. Hoje, trago uma dica essencial para quem trabalha com o Excel. O tema é: Separando Números de Textos no Excel. Vamos aprender a criar uma função personalizada em VBA que permitirá realizar essa tarefa de forma automática, poupando tempo e esforço em seu dia a dia.
Introdução
Muitas vezes, ao lidar com dados em uma planilha do Excel, nos deparamos com situações em que é necessário separar os números dos textos contidos em uma célula. Imagine ter uma coluna repleta de códigos, como “T4SXZ2”, “335TAX”, entre outros. Em algumas situações, precisamos analisar os números isoladamente ou os textos individualmente.
No Excel, existem diversas maneiras de realizar essa separação, como fórmulas e recursos internos, mas criar uma função personalizada pode tornar essa tarefa ainda mais simples e produtiva.
Passo a Passo
1. Acesso ao Editor VBA
Antes de começarmos, é necessário acessar o Editor VBA do Excel. Pressione “Alt + F11” ou, no menu “Desenvolvedor”, clique em “Visual Basic”.
2. Criação da Função
Dentro do Editor VBA, clique com o botão direito sobre “VBAProject (SeuArquivo.xlsm)” no painel esquerdo e selecione “Inserir” -> “Módulo” para criar um novo módulo.
3. Desenvolvimento da Função
Vamos criar a função personalizada “SepararNumerosTextos” para realizar a separação dos números e textos em uma célula.
Imagem no Editor
Código para copiar
' Função personalizada para separar números e textos em uma célula
Function SepararNumerosTextos(texto As String) As Variant
' Declaração de variáveis
Dim i As Integer
Dim numero As String, textoSeparado As String
' Inicialização das variáveis
numero = "" ' Armazenará os números encontrados
textoSeparado = "" ' Armazenará os textos encontrados
' Loop para percorrer cada caractere do texto
For i = 1 To Len(texto)
' Verifica se o caractere é numérico utilizando a função "IsNumeric"
If IsNumeric(Mid(texto, i, 1)) Then
' Caso o caractere seja numérico, adiciona-o à variável "numero"
numero = numero & Mid(texto, i, 1)
Else
' Caso o caractere não seja numérico, adiciona-o à variável "textoSeparado"
textoSeparado = textoSeparado & Mid(texto, i, 1)
End If
Next i
' Retorna um "Array" contendo o número extraído e o texto separado
SepararNumerosTextos = Array(Val(numero), textoSeparado)
End Function
4. Explicação da Função
- Recebemos o texto desejado como argumento da função.
- Criamos duas variáveis: “numero” para armazenar os números encontrados e “textoSeparado” para os textos.
- Utilizamos um loop “For” para percorrer cada caractere do texto recebido.
- Verificamos com a função “IsNumeric” se o caractere é numérico ou não.
- Caso seja numérico, adicionamos o caractere à variável “numero”; caso contrário, adicionamos à variável “textoSeparado”.
- Ao final, retornamos um “Array” contendo o número extraído e o texto separado.
5. Utilização da Função
Com a função personalizada criada, agora podemos utilizá-la em nossa planilha.
Na célula onde deseja obter o número extraído, basta utilizar a fórmula:
=SepararNumerosTextos(A1)(0)
E para obter o texto separado, utilize a fórmula:
=SepararNumerosTextos(A1)(1)
Assumindo que o código original esteja na célula A1.
Conclusão
Com essa função personalizada, agora você pode separar facilmente os números dos textos em qualquer planilha do Excel. Esse recurso é especialmente útil para quem trabalha com grandes volumes de dados, pois agiliza o processo de tratamento e análise de informações.
O uso do VBA e funções personalizadas mostra o poder do Excel em se adaptar às necessidades dos usuários, permitindo personalizar suas tarefas e otimizar a produtividade.
Espero que essa dica tenha sido útil e que você possa aplicá-la em seus projetos diários. Compartilhe essa função com seus colegas e aproveite todos os benefícios que o Excel pode oferecer!
Até a próxima, e lembre-se: o conhecimento é a chave para o sucesso no Excel!
Precisa de Aulas de Excel?
Aulas de Excel, trabalhos e planilhas personalizadas!
Sobre o Autor
0 Comentários