RETIRAR ESPAÇO DO T...
 
Notifications
Clear all

RETIRAR ESPAÇO DO TEXTO TEXTBOX NO EXIT

6 Posts
2 Usuários
0 Reactions
1,416 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia pessoal, estou com dificuldade em retirar os espaços excessivos que o usuário deixa após preencher uma textbox, portanto fiz o código abaixo achando que resolveria, mas fez efeito nenhum, Poderia me ajudar?

Private Sub txtDescAtiv_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Me.txtDescAtiv.Text = Trim(Me.txtDescAtiv.Text)
End Sub

silvajmp

 
Postado : 26/05/2016 8:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

se a instrução acima não fez efeito, então provavelmente não são espaços; mas algum outro caractere. Identifique-o e utilize o replace

 
Postado : 26/05/2016 9:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Reinaldo obrigado por responder, não sei se fui claro, quando o usuário digita alguma descrição na textbox1 e sai para preenchimento de outra textbox teclado enter ou tab o efeito que eu quero e que se faça a arrumação no ato da saída deste textbox.

Segue o exemplo em anexo.

silvajmp

 
Postado : 26/05/2016 10:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Agora não entendi.
Em seu exemplo não "fica" espaço algum no texto digitado teclando tab ou enter.

... se faça a arrumação no ato da saída...

O que considera arrumação????

 
Postado : 27/05/2016 7:04 am
(@fcarlosc)
Posts: 0
New Member
 

Bom-dia.
Tente assim:

Crie um Módulo:

Public Function RemoveEspacoExtra(ByVal str As String) As String
 Dim astr() As String

 astr = Split(str, " ", , vbTextCompare)
 str = ""
 Dim i As Integer
 For i = 0 To UBound(astr)
     'Debug.Print astr(i), astr(i) = ""
     If astr(i) <> "" Then
         str = str & astr(i) & " "
     End If
 Next i
 
 RemoveEspacoExtra = Trim(str)
End Function


E no TextBox:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
	TextBox1.Text = RemoveEspacoExtra(TextBox1.Text)
End Sub

Espero que ajude.

No caso de um campo de Email, coloque assim:

Private Sub txtEmail_Change()
Me.txtEmail.Text = Trim(Me.txtEmail.Text)
End Sub

Não precisa de módulo é direto no evento.

Att,

Francisco

 
Postado : 27/05/2016 7:41 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Francisco boa noite obrigado por contribuir, deu certo, e isso mesmo que eu preciso.

:D Valeu

silvajmp

 
Postado : 27/05/2016 4:02 pm