Ir ao conteúdo

Como remover definitivamente TODOS os espaços de uma célula?


manoeva

Posts recomendados

Postado

Pessoal, tudo bem?

Estou com uma dúvida no Excel:

Na minha planilha do Excel, trabalho muito com códigos de identificação, para

catalogar, etc.

o problema é que muitas vezes estes códigos são digitados incorretamente, isto é, sem seguir o padrão. ex:

um código qualquer em uma célula qualquer digitado corretamente:"377 809 504"

um código em uma célula qualquer digitado incorretamente:"377 809504"

E então, eu pensei em acabar com esta baboseira utilizando uma função que remova TODOS os espaços da célula, ficando assim:"377809504".

Mas o mais próximo que eu achei foi a função =ARRUMAR(), que não me ajuda, por que ela remove somente os espaços adicionais e exteriores, mas queria remover tudo, será que alguém conseguiria me dizer uma função do Excel que faça isto, ou se não existir uma combinação de funções que cumpra seu papel?

Obrigado a todos que leram e Muito obrigado aos que me ajudarem!!

Postado

Boa tarde!!

Tente algo assim..

Fonte:

http://www.excelitems.com/2009/03/remove-extra-spaces-from-cell-value.html

Code:Sub TrimBText()
' This module will trim extra spaces from BOTH SIDES.
Dim MyCell As Range
On Error Resume Next
Selection.Cells.SpecialCells(xlCellTypeConstants, 23).Select
For Each MyCell In Selection.Cells
MyCell.Value = Trim(MyCell.Value)
Next
On Error GoTo 0
End Sub

Postado
Boa tarde!!

Tente algo assim..

Fonte:

http://www.excelitems.com/2009/03/remove-extra-spaces-from-cell-value.html

Code:Sub TrimBText()
' This module will trim extra spaces from BOTH SIDES.
Dim MyCell As Range
On Error Resume Next
Selection.Cells.SpecialCells(xlCellTypeConstants, 23).Select
For Each MyCell In Selection.Cells
MyCell.Value = Trim(MyCell.Value)
Next
On Error GoTo 0
End Sub

Amigo, infelizmente eu não sei como usar estes códigos em VBA (_(

Mas vendo o link que você me mandou, se não me engano, percebi que ele remove somente os espaços do exterior, ex: "____olá_____" ficando -> "olá".

o que eu queria é que faça com que em uma célula extermine todos os espaços :D; e que seja em uma função, pois conheço o método do Ctrl+U (localizar / Substituir) e este não atende a minha necessidade!.

Postado

Boa noite!!

Isso deve resolver!

Sub ZeroEspaco()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If Left(c.Value, 1) = " " Then c.Value = Right(c.Value, Len(c.Value) - 1)
c.Value = c.Value
Next c
End Sub

Boa noite!!

Tente também..


Option Explicit

Sub ZeroEspaco2()
With Range("A1:DD5493")
Do Until .Find(" ") Is Nothing
.Replace " ", ""
Loop
End With
End Sub

Postado
Boa noite!!

Isso deve resolver!

Sub ZeroEspaco()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If Left(c.Value, 1) = " " Then c.Value = Right(c.Value, Len(c.Value) - 1)
c.Value = c.Value
Next c
End Sub

Boa noite!!

Tente também..


Option Explicit

Sub ZeroEspaco2()
With Range("A1:DD5493")
Do Until .Find(" ") Is Nothing
.Replace " ", ""
Loop
End With
End Sub

Boa tarde!!!

Cara, você pode me ensinar como eu coloco e executo estes códigos no excel?

Amigo, já aprendi como adiciona macro, testei os programas, o primeiro ficou em um loop infinito, e o segundo gostei! mas ele somente remove os espaços próximos e múltiplos de 2.

ex: "1_2__3___4____5_____6______7_______8________9" utilizando o macro

Option Explicit fica assim: "1_23___45_____67_______89" porque os espaços restantes nao sao multiplos de 2.

perdão, utilizando o macro fica assim:"1_23_45_67_89" ele nao removeu totalmente os espaços nao multiplos de 2 ficando 1 espaço de sobra.

Boa noite!!

Isso deve resolver!

Sub ZeroEspaco()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If Left(c.Value, 1) = " " Then c.Value = Right(c.Value, Len(c.Value) - 1)
c.Value = c.Value
Next c
End Sub

Boa noite!!

Tente também..


Option Explicit

Sub ZeroEspaco2()
With Range("A1:DD5493")
Do Until .Find(" ") Is Nothing
.Replace " ", ""
Loop
End With
End Sub

valeu CARA!!!!!

EU MODIFIQUEI O SEU CÓDIGO E ELE ATENDEU MINHAS ESPECTATIVAS!!!!!!

Troquei o "__" por "_", assim ele exclui TODOS os espaços, valeu mesmo muito obrigado!!!:D:D:D:D

  • Membro VIP
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...