Caro colega,
Eu não sei criar um código completo no VBA, mas consigo entender algumas partes dos códigos.
Eu queria um código em VBA que pudesse ser aplicado em células com textos, números e vazias para retirar espaços em branco à esquerda e à direita dos textos ou números.
Quando colo uma tabela do Excel no Word em formato html mantendo o vínculo ela aparece com espaços em branco entre as células.
Para consertar isto preciso fazer manualmente "ctrl + u" no Word (localizar e substituir), mas gostaria que esses espaços fossem retirados no próprio Excel e para isso gostaria de utilizar um código VBA, pois aplicar as fórmulas em cada célula da minha planilha (que é grande) vai me dar muito trabalho. A fórmula que funciona para mim célula a célula é esta:
Para números:
=ARRUMAR(SUBSTITUIR(A1;CARACT(160);CARACT(32)))*1
Para textos e células vazias:
=ARRUMAR(SUBSTITUIR(A1;CARACT(160);CARACT(32)))
Encontrei uma solução que poderia se aplicar ao meu caso se eu quisesse que fossem retirados inclusive os espaços em branco entre as palavras (o que não é meu interesse): viewtopic.php?t=1532
O que achei interessante nele é ele gerar uma caixa pedindo para selecionar as células que terão os espaços retirados). Segue o código:
Sub Clear()
Dim rLocal As Range
'Atribuição das variáveis
Set rLocal = Application.InputBox(Prompt:="Selecione as células que deseja limpar...", Type:=8)
rLocal.Replace What:=" ", Replacement:=""
End Sub
Achei em um fórum em inglês aleatório um tópico com outro código, a seguir, que funcionou para mim quando alterei o "" por " " (apenas para textos). Mas ele parece ser bastante pesado e parece fazer a mesma substituição várias vezes. Segue o código:
Public Sub RemoveSpaceInString()
Dim myCell As Range
For Each myCell In Selection
myCell = Trim(myCell)
myCell = Replace(myCell, vbTab, "")
myCell = Replace(myCell, " ", "")
myCell = Replace(myCell, Chr(160), "")
Next myCell
End Sub
Alguém poderia me ajudar? Caso não seja possível criar o Application.InputBox que o código faça esta alteração para todas as planilhas da pasta de trabalho do Excel.
Obrigado pela atenção.
Aguardo uma ajuda.
João
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Código VBA para tirar espaços em branco (em textos, números e células vazias) de células do Excel à esquerda e à direita
-
- Colaborador
- Mensagens: 14
- Registrado em: Seg Abr 06, 2020 11:17 am