Obtener Última Celda de Excel Aunque No Todas Tengan Información con Visual Basic For Applications

Podemos encontrarnos con una situación en la que necesitemos saber el número de filas o de columnas de una tabla dinámica (por ejemplo) en la que hay campos que para no repetirse están ocultos.
Si queremos saber cuantas filas tiene una columna, pero puede que haya elementos ocultos, no nos sirve utilizar el simple “xlDown” ya que cuando encuentre la primera vacía (oculta) se detendrá. Para solucionarlo deberíamos poder llegar hasta el final de esa tabla dinámica, independientemente de su contenido, del siguiente modo:
1. En primer lugar debemos tener a mano una celda concreta, que será la primera de la tabla dinámica (Un punto de origen).
2. Debemos seleccionar la primera celda que hemos comentado en el punto 1, por ejemplo:

Hoja1.Cells(5,20).Select 'HojaX.Cells(row,column).Select

3. Una vez tenemos la celda, podemos obtener la última fila de la columna de esa celda del siguiente modo:

Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

4. Del mismo modo, podemos obtener la última columna de la fila de esa celda (si por ejemplo tenemos una tabla dinámica de la que no sabemos el número de columnas) del siguiente modo:

Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

Categories:

VBA

No Responses

Leave a Reply

Your email address will not be published. Required fields are marked *