Encontrar la última fila de una hoja de cálculo de Excel cuando la última fila está oculta

Estoy tratando de encontrar la última fila en la columna A que contiene un valor con el siguiente código:

LastRow = DataWorksheet.Range("A:A").Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row

Esto funciona bien para la mayoría de los casos,excepto cuando las últimas filas se filtran. Por ejemplo, digamos que tenemos 30 filas de datos. Si las filas 1-10 son visibles, 11-20 son filtradas y 21-30 son visibles, encuentra la última fila con éxito: devuelve 30. Cuando todo está visible y las filas 21-30 son filtradas, LastRow devuelve 1.

Tenga en cuenta que si yo manualmenteesconder En lugar de filtrar las filas 21-30, me dice que la última fila es 20.

¿Lo que da? ¿Cómo puedo hacer que determine cuál es la última fila si las últimas filas se filtran?

Editar: Ahora parece que LastRow está escogiendo el últimosin filtrar fila, que es una desviación definitiva de su comportamiento anterior. Actualizaré esta publicación una vez que sea más capaz de aislar el error / inconsistencia que estoy encontrando.

Respuestas a la pregunta(5)

Su respuesta a la pregunta