Saltar al contenido

Extraer la altura de un domicilio


Pityon

Recommended Posts

publicado

Hola a todos, espero que este recurso les sea útil.

Se trata de una función construída para extraer la parte numérica de un domiclio.

(Quise subir el archivo, pero siendo con extensión .xlsx, me lo ha rechazado)

Puede copiarse y pegarse en un módulo nuevo.

La función es la siguiente:

Function Numero(domicilio As String) As Integer

'EXTRAE DE UN DOMICILIO SU PARTE NUMÉRICA (numeración de la Calle)

Dim pos As Byte ' variable que representa cada caracter en el domicilio

Dim texto As String

texto = Replace(domicilio, " ", ",") 'Al reemplazar espacios por comas (o cualquier otro caracter)

'se evita que el nro de piso o departamento sea

'interpretado como parte del número.

For pos = 1 To Len(texto) 'Recorre el texto del domicilio con comas entre palabras

If Not (Val(Mid(texto, pos)) = 0) Then 'Cuando encuentra texto, Val es CERO

Numero = Val(Mid(texto, pos)) ' La función Val lée solamente los números

GoTo fin ' Flag para evitar que recorra el resto, y que fuera reduciéndose

' el resultado hasta alcanzar el último carácter del domicilio

End If

Next pos

fin: 'Flag

End Function

Para probarla, escribamos domicilios y en la columna inmediata derecha la fórmula: Numero(argumento)

DOMICILIO ALTURA

San Martin 510 510

523 Ashley Road 34 523

Las Américas 345 3er piso 345

Saludos!

publicado

Hola

Convierte el archico a .XLS o .ZIP para subirlo al foro

Tambien explica porfavor un poco mas de que se trata tu aporte, con ejemplos en la hoja

Saludos

publicado

Gracias, Gerson. Aquí va el archivo comprimido.

Y hay un ejemplo de tres filas con sus respectivos resultados en la columna inmediata derecha

Así, por ejemplo, si en la celda A8 tenemos un texto como Los Ángeles No. 434 - 371 México,Guadalajara, una fórmula que tome dicha celda como argumento para esta función que he llamado Numero, es decir =Numero(A8), devuelve 434. Pero también aporta solución a expresiones domiciliarias que comienzan con la altura, por ejemplo 7801 NW 37 Street, Doral, FL, United States; en este caso la fórmula devuelve 7801

Si bien la idea final es extraer una cadena numérica que forma parte de una cadena de texto (el domicilio), también resulta interesante ver actuar la función incorporada Val. Para ello sugiero poner un punto de interrupción (pulsando F9) al inicio del bucle For y ejectuar la función desde la hoja de cálculo, verificando con el Paso a Paso (pulsando F8) cómo van variando las Inspecciones que se exhiben en la imagen de la hoja.

Espero haber aportado algo al foro, el cual me parece muy interesante.

Saludos,

PABLO

domicilio.zip

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.