Professional Documents
Culture Documents
Page 1 of 2
Procedimiento:
Explicacin:
La instruccin Range("A65536").End(xlUp).Row lo que hace es que tomando como referencia la ltima celda de la columna 'A' sube hasta encontrar la ltima celda que contiene datos y la propiedad Row nos devuelve qu nmero de fila es. A continuacin como se supone que estamos en la ltima celda con datos, lo que hacemos es pasar a la siguiente celda (estar vaca) y seleccionarla. Una vez realizada esta operacin, introducimos la cadena 'Hola'.
Funcionamiento:
Este procedimiento funciona independientemente de la celda que est activa (seleccionada) en ese momento, puesto que para buscar la celda siempre parte de la celda 'A65536' (la ltima celda de la columna A) e inicia el recorrido hacia arriba.
http://hojadecalculo.umh.es/vba/Buscar_celda_vacia.html
11/05/2011
Page 2 of 2
Discusin:
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 ejecucin. Por otra parte el cdigo todava se puede optimizar, reduciendo el nmero de instrucciones con el consiguiente aumento de velocidad (aunque esto no ocurre siempre). Veamos, en la instruccin Range("A65536").End(xlUp).Row el mtodo End admite 3 argumentos ms 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 tambin podramos empezar a buscar celdas vacas tomando como referencia o celda base la 'A1' y seguir hacia abajo, quedando la instruccin de la siguiente forma: Range("A1").End(xlDown).Row El procedimiento tendra las mismas limitaciones que al principio pero ahora sabemos encontrar la primera celda vaca de una columna, bien empezando por arriba o por abajo, y la primera celda vaca de una fila empezando por la izquierda o por la derecha. La instruccin anterior hace lo mismo que si desde el teclado nos situramos en la celda 'A1' y pulsramos la combinacin de teclas FIN+FLECHA ABAJO (ver uso del teclado en el men ayuda de Ecel). Podemos reescribir el procedimiento 'AadirDatosLista' de la siguiente forma:
Profesor
Javier Marco Lled
http://hojadecalculo.umh.es/vba/Buscar_celda_vacia.html
11/05/2011