Buscar Celda Vacía en Excel |
|
Continuando con el ejemplo anterior nos damos cuenta que dista mucho de ser un procedimiento optimizado. No controla todas las situaciones posibles. Por ejemplo, si ejecutamos el procedimiento y no existe al menos una celda con datos en la columna 'A', VBA dará un error en tiempo de ejecución. Por otra parte el código todavía se puede optimizar, reduciendo el número de instrucciones con el consiguiente aumento de velocidad (aunque esto no ocurre siempre). Veamos, en la instrucción Range("A65536").End(xlUp).Row el método End admite 3 argumentos más y que corresponden a las direcciones derecha, izquierda y abajo. Es decir, xlDown, xlToLeft y xlToRight. (ver el menú ayuda de VBA); por lo tanto también podríamos empezar a buscar celdas vacías tomando como referencia o celda base la 'A1' y seguir hacia abajo, quedando la instrucción de la siguiente forma: Range("A1").End(xlDown).Row
El procedimiento tendría las mismas limitaciones que al principio pero ahora sabemos encontrar la primera celda vacía de una columna, bien empezando por arriba o por abajo, y la primera celda vacía de una fila empezando por la izquierda o por la derecha.
La instrucción anterior hace lo mismo que si desde el teclado nos situáramos en la celda 'A1' y pulsáramos la combinación de teclas FIN+FLECHA ABAJO (ver uso del teclado en el menú ayuda de Ecel).
Podemos reescribir el procedimiento 'AñadirDatosLista' de la siguiente forma:
Y por último, lo mismo en una sola línea: