Obtenha a última linha de uma coluna no Excel, sem VBA
m geral, obter a última linha de uma coluna no Excel é fácil com a Função Definida pelo Usuário no VB
Function lastRow(wsName As String, Optional columnToCheck As Long = 1) As Long
Dim ws As Worksheet
Set ws = Worksheets(wsName)
lastRow = ws.Cells(ws.Rows.Count, columnToCheck).End(xlUp).Row
End Function
Para a última linha, existem duas fórmulas do Excel que encontrei até agora:
=SUMPRODUCT(MAX((A:A<>"")*ROW(A:A)))
=MAX(IFERROR(MATCH(E1+99,A:A),0),IFERROR(MATCH("zzz",A:A),0))
O problem com eles é que o primeiro não funciona, se houver um erro no intervalo e o segundo não retornar a última linha real, se for um erro, mas a última linha sem erro, retornando assim 6 e não 7 :
A questã é como obter uma fórmula que retorne 7, pois esta é a última linha da coluna A usada? Embora seja um erro. Sem VBA.