Separar texto de números a través de coma

hola quisiera saber como hacer para separar direcciones de números?
ejemplo:
Calle bailen 65 6º E por Calle bailen, 65 6º E
Avenida Andorra la bella 1 2º A por Avenida Andorra la bella, 1 2º A
gracias!!!

1 Respuesta

Respuesta
1

Hay dos formas la fácil y la difícil (je je) la fácil es con funciones personalizadas

1) Vas al editor de vba y pegas estos códigos

Function NumComa(x)
Dim Largo, J As Integer
Letra As String
Largo = Len(Trim(x))
For J = 1 To Largo
Letra = Mid(x, J, 1)
If Asc(UCase(Letra)) >= 48 And Asc(UCase(Letra)) <= 57 Then
GoTo kike
End If
Next J
kike:
NumComa = Mid(x, 1, J - 2) & "," & Mid(x, J - 1, Largo)
End Function

2) En tu hoja electrónica escribes la fórmula que has desarrollado, en este caso =NumComa(), y entre el paréntesis colocas la celda donde esta la ubicación del valor sin la coma, el resultado de la formula será el mismo dato pero ahora incluida la coma.

La segunda formula dependerá de anidar varias formulas en excel y me parece que hay que hacerla matricial, pero es larga y compleja, te recomiendo utilizar esta forma personalizada.

Muchas gracias por tu respuesta! veras la macro no me funciona se esperaba sub dice..

pero la meto dentro de sub y end sub y nada...

y la formula =NumComa(A1) me devuelve esto #¿NOMBRE?

No la debes meter en ningún sub la macro en si empieza con Function NumComa(x) y termina con End Function, si la metes en un Sub ya no funciona. Sin embargo veo un error en el código que te pase, ya que no había determinado el tipo en la variable, te la paso corregida.

Function NumComa(x)
Dim Largo, J As Integer
Dim Letra As String
Largo = Len(Trim(x))
For J = 1 To Largo
Letra = Mid(x, J, 1)
If Asc(UCase(Letra)) >= 48 And Asc(UCase(Letra)) <= 57 Then
GoTo kike
End If
Next J
kike:
NumComa = Mid(x, 1, J - 2) & "," & Mid(x, J - 1, Largo)
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas