REDUSERS | | Todo el Mundo

Primera celda libre


La macro para tener la primera celda libre de nuestra planilla es la siguiente:

Sub Auto_Open()
pf = Range(“A1”).End(xlDown).Row + 1
Cells(pf, “A”).Select
End Sub

Por tener el nombre especial Auto_Open, esta macro se ejecuta automáticamente al abrir el archivo. La instrucción que localiza la primera celda vacía de la columna [A] equivale a oprimir la combinación , desde la celda [A1]. Esto selecciona la última celda ocupada de la columna. De esta posición, toma el número de fila con la propiedad Row.
Luego suma una unidad para bajar una celda más, que es la primera vacía. Dicho valor lo guarda en la variable pf (por primera fila). Para identificar la celda correspondiente a esta posición, se usa la instrucción Cells cuyos argumentos son la fila y la columna buscadas. La columna puede identificarse por su número de orden o por su letra, en este caso entre comillas. Es decir que Cells(pf, “A”) es lo mismo que Cells(pf, 1).
En realidad, la macro puede fallar en un caso: si la columna [A] está vacía, o si [A1] es la única celda ocupada, la combinación
bajaría hasta la última celda de la hoja y la instrucción Range(“A1”).End(xlDown).Row + 1 daría un valor mayor a la última fila. Una forma de resolver esta situación es esta otra macro:

Sub Auto_Open()
pf = Range(“A10000”).End(xlUp).Row + 1
Cells(pf, “A”).Select
End Sub

La fórmula, en vez de bajar desde [A1] hasta la última celda ocupada, sube desde [A1000].

Truco publicado en Users 219.

Más leídas

Últimas noticias