Sie sind auf Seite 1von 2

Buscar Celda Vaca en Excel

Page 1 of 2

Buscar Celda Vaca en Excel


Planteamiento:
Supongamos que tenemos en la columna 'A' de la hoja activa una lista de datos que se va incrementando conforme vamos aadiendo ms valores. Queremos hacer un procedimiento en VBA que localice la siguiente celda vaca de la lista para introducir ms datos. El procedimiento se llamar AadirDatosLista y por el momento aadir la cadena de texto 'Hola' a la ltima celda.

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

Buscar Celda Vaca en Excel

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:

Y por ltimo, lo mismo en una sola lnea:

Profesor
Javier Marco Lled

http://hojadecalculo.umh.es/vba/Buscar_celda_vacia.html

11/05/2011

Das könnte Ihnen auch gefallen