Vba: como encontrar a última linha usada
Você pode usar a seguinte sintaxe básica em VBA para encontrar a última linha usada em uma planilha Excel:
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
Este exemplo específico procura a última linha usada na planilha atual e retorna o resultado na célula D2 .
Se você quiser exibir a última linha de uma caixa de mensagem, poderá usar a seguinte sintaxe:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
Os exemplos a seguir mostram como usar cada um desses métodos na prática.
Exemplo 1: Encontre a última linha usando VBA e exiba os resultados na célula
Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:
Podemos criar a seguinte macro para encontrar a última linha usada nesta planilha Excel e exibir o resultado na célula D2 :
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que a célula D2 contém o valor 11 .
Isso nos diz que a última linha usada nesta planilha específica é a linha 11.
Também é importante notar que se você tiver células vazias antes de uma célula usada, esta macro sempre encontrará a última linha usada.
Por exemplo, suponha que executemos a macro no seguinte conjunto de dados:
A célula D2 contém um valor de 16 porque é a última linha que contém um valor.
Exemplo 2: Encontre a última linha usando VBA e exiba os resultados na caixa de mensagem
Suponha que, em vez disso, queiramos encontrar a última linha usada em uma planilha e exibir o número da linha em uma caixa de mensagem.
Podemos criar a seguinte macro para fazer isso:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
A caixa de mensagem nos informa que a última linha usada na planilha é a linha 11 .
Nota : Você pode encontrar a documentação completa para o método Find do VBA aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como calcular o valor médio do intervalo
VBA: Como contar o número de linhas no intervalo
VBA: Como remover valores duplicados no intervalo