O Excel já tem uma função de planilha TRIM que você pode usar para se livrar de espaços iniciais, finais e extras entre palavras / strings.
Também existe uma função TRIM no VBA (e faz exatamente a mesma coisa - remove os espaços extras).
Por que também precisamos de uma função TRIM no VBA?
Boa pergunta!
Enquanto você pode trabalhar com a função TRIM embutida em planilhas do Excel para se livrar de espaços. em alguns casos, pode ser necessário fazer isso usando o VBA.
Isso pode ser parte de um código maior.
Sintaxe da função VBA TRIM
TRIM (string)
‘String’ é o argumento que pode ser uma string de texto ou uma variável que contém uma string de texto.
Vamos aprender como usar a função VBA TRIM com alguns exemplos.
Exemplo 1 - Mostrando o resultado em uma caixa de mensagem
Suponha que você tenha o seguinte texto na célula A1
Observe que há espaços antes e depois da frase.
O código abaixo pegaria esta frase e mostraria o resultado depois de cortar os espaços extras
Sub TrimExample1 () MsgBox Trim (Range ("A1")) End SubHá uma coisa importante a saber ao usar a função TRIM no VBA - ela removerá apenas os espaços à esquerda e à direita. Isso não removerá os espaços extras entre as palavras (o que faz a função TRIM embutida na planilha).
Por exemplo, suponha que você tenha o seguinte texto na célula A1 (com espaços extras entre as palavras):
Se eu usar o código VBA acima, ele mostrará uma caixa de mensagem conforme mostrado abaixo:
Como você pode ver no resultado da caixa de mensagem, os espaços extras entre as palavras não são removidos pela função VBA TRIM.
Então qual é a alternativa?
Se você deseja remover os espaços iniciais, finais e duplos entre as palavras, é melhor usar o seguinte código:
Sub TrimExample1 () MsgBox WorksheetFunction.Trim (Range ("A1")) End Sub
O código acima usa a função TRIM da planilha (em vez de usar a função TRIM no VBA).
Observação: a função VBA Trim não remove os caracteres que não são de espaço em branco - como novas linhas (vbNewLine, vbCrLf) etc.
Exemplo 2 - Remova rapidamente os espaços iniciais e finais de um intervalo de células
Suponha que você tenha um conjunto de dados conforme mostrado abaixo, onde há espaços à esquerda e à direita:
Você pode usar o código a seguir para limpar instantaneamente esses dados e remover todos os espaços à esquerda e à direita:
Sub TrimExample1 () Dim Rng As Range Set Rng = Seleção para cada célula em Rng Cell.Value = Trim (Cell) Next Cell End Sub
O código acima passa por todas as células na seleção e remove os espaços à esquerda e à direita.
Você também pode gostar dos seguintes tutoriais do Excel / VBA:
- 10 maneiras de limpar dados no Excel.
- Função de divisão do Excel VBA.
- Função Excel VBA InStr.
- Função VBA LCase.
- Função VBA UCase.
- Criando uma função definida pelo usuário (UDF) no Excel VBA.