Extraer números de domicilios

18/08/2006 - 00:56 por Cambacito | Informe spam
Quiero extraer los numeros que estan en una celda junto al nombre de
las calles.
Hay calles cuyos nombres contienen numeros Ej. 25 de Mayo 275
Los numeros siempre estan al final de la cadena de texto
Ejemplos:

San Martín 235
Ensenada 1349
Libertad 33
Constitucion 12876
9 de Julio 1287

Lo que quiero es que quede el nombre solo en su celda y el numero en
otra.

Gracias por su ayuda

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/08/2006 - 06:28 | Informe spam
hola, 'anonimo/a' !

Quiero extraer los numeros que estan en una celda junto al nombre de las calles.
Hay calles cuyos nombres contienen numeros Ej. 25 de Mayo 275
Los numeros siempre estan al final de la cadena de texto Ejemplos:
San Martín 235
Ensenada 1349
Libertad 33
Constitucion 12876
9 de Julio 1287
Lo que quiero es que quede el nombre solo en su celda y el numero en otra.



asumiendo que la columna siguiente esta 'disponible' [para depositar el numero]...
-> selecciona el rango con los domicilios, y ejecuta una macro +/- como la siguiente:
en un modulo de codigo 'general' ==Sub Desplazar_numeros()
Application.ScreenUpdating = False
Dim Celda As Range, Pos As Integer
For Each Celda In Selection
Pos = InStrRev(Celda, " ")
Celda.Offset(, 1) = Mid(Celda, Pos + 1)
Celda = Left(Celda, Pos - 1)
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

p.d. si necesitas que esta macro corra en excel '97 [que no tiene soporte para la funcion vba InStrRev]...
agrega las siguientes lineas despues del codigo de la macro anterior:
#If Not VBA6 Then
Function InStrRev(ByVal Donde As String, ByVal Que As String) As Long
Dim Pos As Integer: InStrRev = 0: If Len(Que) <> 1 Then Exit Function
For Pos = Len(Donde) To 1 Step -1
If Mid(Donde, Pos, 1) = Que Then InStrRev = Pos: Exit Function
Next
End Function
#End If
Respuesta Responder a este mensaje
#2 Cambacito
18/08/2006 - 15:30 | Informe spam
Héctor Miguel ha escrito:

hola, 'anonimo/a' !

> Quiero extraer los numeros que estan en una celda junto al nombre de las calles.
> Hay calles cuyos nombres contienen numeros Ej. 25 de Mayo 275
> Los numeros siempre estan al final de la cadena de texto Ejemplos:
> San Martín 235
> Ensenada 1349
> Libertad 33
> Constitucion 12876
> 9 de Julio 1287
> Lo que quiero es que quede el nombre solo en su celda y el numero en otra.

asumiendo que la columna siguiente esta 'disponible' [para depositar el numero]...
-> selecciona el rango con los domicilios, y ejecuta una macro +/- como la siguiente:
en un modulo de codigo 'general' ==> Sub Desplazar_numeros()
Application.ScreenUpdating = False
Dim Celda As Range, Pos As Integer
For Each Celda In Selection
Pos = InStrRev(Celda, " ")
Celda.Offset(, 1) = Mid(Celda, Pos + 1)
Celda = Left(Celda, Pos - 1)
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

p.d. si necesitas que esta macro corra en excel '97 [que no tiene soporte para la funcion vba InStrRev]...
agrega las siguientes lineas despues del codigo de la macro anterior:
#If Not VBA6 Then
Function InStrRev(ByVal Donde As String, ByVal Que As String) As Long
Dim Pos As Integer: InStrRev = 0: If Len(Que) <> 1 Then Exit Function
For Pos = Len(Donde) To 1 Step -1
If Mid(Donde, Pos, 1) = Que Then InStrRev = Pos: Exit Function
Next
End Function
#End If
Respuesta Responder a este mensaje
#3 Cambacito
18/08/2006 - 15:33 | Informe spam
Héctor Miguel ha escrito:

hola, 'anonimo/a' !

> Quiero extraer los numeros que estan en una celda junto al nombre de las calles.
> Hay calles cuyos nombres contienen numeros Ej. 25 de Mayo 275
> Los numeros siempre estan al final de la cadena de texto Ejemplos:
> San Martín 235
> Ensenada 1349
> Libertad 33
> Constitucion 12876
> 9 de Julio 1287
> Lo que quiero es que quede el nombre solo en su celda y el numero en otra.

asumiendo que la columna siguiente esta 'disponible' [para depositar el numero]...
-> selecciona el rango con los domicilios, y ejecuta una macro +/- como la siguiente:
en un modulo de codigo 'general' ==> Sub Desplazar_numeros()
Application.ScreenUpdating = False
Dim Celda As Range, Pos As Integer
For Each Celda In Selection
Pos = InStrRev(Celda, " ")
Celda.Offset(, 1) = Mid(Celda, Pos + 1)
Celda = Left(Celda, Pos - 1)
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

p.d. si necesitas que esta macro corra en excel '97 [que no tiene soporte para la funcion vba InStrRev]...
agrega las siguientes lineas despues del codigo de la macro anterior:
#If Not VBA6 Then
Function InStrRev(ByVal Donde As String, ByVal Que As String) As Long
Dim Pos As Integer: InStrRev = 0: If Len(Que) <> 1 Then Exit Function
For Pos = Len(Donde) To 1 Step -1
If Mid(Donde, Pos, 1) = Que Then InStrRev = Pos: Exit Function
Next
End Function
#End If






Resultado espectacular. Funcionó al primer intento !!!
Muchas gracias Héctor
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida