La Web del Programador: Comunidad de Programadores
 
    Pregunta:  47764 - ESPACIOS INTERMEDIOS EN CADENA
Autor:  Carlos Fernandez
Tengo un TextBox donde deben introducirse nombre y apellido para que VB6 los busque en una base de datos, en una planilla Excel.
A veces, a algún operador de pulgar rápido, se le escapan dos espacios entre nombre y apellido, en vez de uno como debería ser.
Este espacio extra no es notado por el ojo, pero sí por el programa que , por supuesto no encuentra al candidato buscado.
¿Alguna sugerencia?
Gracias por su ayuda

  Respuesta:  Gerald Valdes
Prueba lo siguiente

'**********************************'
Sub Solo_Un_Espacio(ByVal cTexto As String, ByRef cTextoDestino As String)

Dim I As Double
Dim A As Double

cTextoDestino = ""
A = 0
For I = 1 To Len(cTexto)
If Mid(cTexto, I, 1) = " " And A = 0 Then
A = 1
cTextoDestino = cTextoDestino & Mid(cTexto, I, 1)
ElseIf Mid(cTexto, I, 1) = " " And A = 1 Then

Else
A = 0
cTextoDestino = cTextoDestino & Mid(cTexto, I, 1)
End If
Next I

End Sub
'**********************************'

cTexto Tiene el texto con los espacios de mas
cTextoDestino Devuelve el texto sin espacios de mas.

Saludos

  Respuesta:  Carlos Fernandez
Cecilia Colalongo, en el Foro de Visual Basic, me dio la solución.
Hay que usar la función Replace, y en mi caso reemplazar dos espacios seguidos por uno sólo.