Experimente:
Public Function IdentifyLastRowInBlock() As Long
With Sheet1
Dim lastRow As Long
lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
Dim blankRow As Long
blankRow = .Range(.Cells(3, 1), .Cells(lastRow, 1)).End(xlDown).Row + 1
End With
IdentifyLastRowInBlock = blankRow
End Function
Observe que isso retornará a última linha não utilizada a partir da linha 3. Não sabendo o seu código, simplesmente codifiquei o ponto de início - você terá que modificá-lo para se adequar às suas circunstâncias. Eu realmente recomendo torná-lo um parâmetro para a função, por isso é mais flexível no futuro. Também é codificado para procurar na coluna 1 ("A"), que também poderia ser um parâmetro.
Além disso, observe que se a tabela estiver "cheia" na coluna 1, ela encontrará a primeira linha após a tabela. O mais interessante sobre as tabelas é que elas se expandem automaticamente, portanto, se você colocar um valor na primeira linha após a tabela existente, o Excel expandirá a tabela para você.