­čĄľ Obtener la ├║ltima fila con datos en vba

Hola Freaks! Una de las necesidades recurrentes que tenemos cuando empezamos a usar las macros y a automatizar ficheros excel, es saber cual es la ├║ltima fila que tiene datos.
De esta manera te aseguras no tener que modificar los rangos a mano cada vez que a├▒adas nuevos registros.

Como encontrar la ultima fila con valores en vba excel

Existe m├ís de un m├ętodo para obtener el ├║ltimo registro con datos en vba. En este post os voy a ense├▒ar dos de ellos.

Obtener el ├║ltimo registro con datos en vba con la propiedad End

La propiedad End representa la celda final que contiene el rango del cuál partimos.
Equivale a presionar FIN+FLECHA arriba, FIN+FLECHA abajo, FIN+FLECHA izquierda o FIN+FLECHA derecha.

Comenzaremos usando Rows.Count que nos contará todas las filas de la hoja de cálculo:

ActiveSheet.Cells(Rows.Count, "A")

Le añadiremos la propiedad End que nos situará en la última fila con datos de la columna y nos devolverá su valor. Como he dicho más arriba simula FIN+FLECHA arriba.

ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

Le a├▒adiremos la propiedad row, para que nos devuelva la fila.

En este caso hemos obtenido la ├║ltima fila ├║nicamente con la columna A. Ten en cuenta cuando vayas a realizar esta macro, que la columna que vas a usar tiene valores hasta el final.

Obtener la ├║ltima fila con datos en vba con UsedRange

Antes de mostrarte el c├│digo necesario para obtener la ultima fila con la propiedad usedrange, vamos

La propiedad UsedRange representa el rango dentro de una pesta├▒a especificada. Por lo que si queremos seleccionar el rango de datos de una pesta├▒a concreta lo conseguiremos con la siguiente sentencia:

ActiveSheet.UsedRange.Select

Como ya tenemos el rango de datos seleccionado, vamos a usar el m├ętodo SpecialCells, con el cu├íl obtendremos las celdas que cumplan una determinada condici├│n.

Como queremos obtener la ├║ltima celda con datos usaremos la constante xlCellTypeLastCell.

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell)

De esta manera, la macro nos devolverá el valor de la última celda con datos, pero eso no es lo que estamos buscando. Queremos el registro de esa celda para de esta manera saber a partir de que fila podemos seguir escribiendo.

Por lo que, para obtener la ├║ltima fila con datos usaremos la siguiente sentencia.

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

obtener-ultima-fila-vba

Esto es todo!! Espero que hayas aprendido un poquito más.

Si tienes algunda duda, entra en el foro excel y deja tu pregunta

<< Vuelve al indice del curso excel avanzado

<< Volver a post sobre Macros

 

Autor entrada: Javi de Excelfreak

Deja un comentario