Entiendo que en el momento que tuviera dos celdas consecutivas sin fórmula que tuviera que recuperar ese código que planteas no me valdría, porque estoy copiando una fórmula que no existe de la celda de arriba en la celda de abajo de ella.
imagino que con borrar unas lineas te refieres a eliminar esos registros, estirar hacia abajo la tabla y en las nuevas líneas creadas añadirlos al final con los datos que tuvieran los antiguos, con las fórmulas arrastradas y creadas de nuevo. Entonces habria que escribir a mano todos los datos de cada columna a rellenar de todas las filas nuevas, dando lugar a cometer errores de copia/pega o reeescritura. Además, los registros los tengo ordenados con cierto orden , le perdería.
es lo que comentaba antes, era solución funcional trabajando con un excel en el mismo idioma en los dos ordenadores, por eso esto queda descartado, ya que por lo que veo excel no reconoce las funciones de un idioma a otro.
No sé, la verdad que me sorprende un poco que no se pueda hacer lo que planteo aquí al inicio.. Al final me voy a conocer todos los foros, ajja. Un saludo!
Por
MANTONIOPM, · 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!