Como encontrar a última linha, coluna e célula?
Para encontrar a última linha, coluna ou célula, você pode usar a propriedade “Fim” do intervalo. A propriedade end permite navegar até o final do intervalo de dados (até a última célula que não está vazia). Com isso, existem constantes que você pode usar para decidir em qual direção deseja navegar (para cima, para baixo, para a esquerda ou para a direita).
Use VBA para encontrar a última linha no Excel
- Defina a célula ou intervalo a partir do qual deseja navegar até a última linha.
- Depois disso, insira um ponto para obter a lista de propriedades e métodos.
- Selecione ou digite “Fim” e insira um parêntese inicial.
- Use qualquer argumento que você queira usar.
- Além disso, use a propriedade address para obter o endereço da célula.
MsgBox Range("A1").End(xlDown).Address
Ao executar o código acima, ele mostra uma caixa de mensagem com o número da linha da última célula não vazia.
Encontre a última coluna usando VBA
Agora digamos que você queira encontrar a última coluna. Neste caso, ao invés de usar a constante “xlDown”, você deve usar o “xlRight”, e se quiser selecionar aquela célula ao invés de ter o endereço, você pode usar o método “select”. Considere o seguinte método.
Range("A1").End(xlToRight).Select
Encontre a última célula
Usando o mesmo método, você também pode obter a última célula, que não está vazia. Para escrever este código, você precisa saber a última linha e a última coluna.
Sub vba_last_row() Dim lRow As Long Dim lColumn As Long lRow = Range("A1").End(xlDown).Row lColumn = Range("A1").End(xlToRight).Column Cells(lRow, lColumn).Select End Sub
Para entender o código acima, precisamos dividi-lo em três partes.
- Na PRIMEIRA parte, você declarou duas variáveis para armazenar o número da linha e o número da coluna.
- Na SEGUNDA parte, você usou o “End” com o “xlDown” e depois a propriedade Row para obter o número da linha da última, e da mesma forma, você usou o “End” com o “xlToRight” e depois a propriedade “Coluna” para obter o número da última coluna.
- Na TERCEIRA parte, usando o número da última coluna e o número da última linha, consulte a última célula e selecione-a.
Nota: Se desejar selecionar uma célula nas diferentes planilhas usando o método da última linha e da última coluna, você deve primeiro habilitar essa planilha .
Última linha, coluna e célula usando o método Find
Você também pode usar o método find com o objeto range para obter a última linha, coluna e célula da planilha. Para encontrar o número da linha, aqui está o código:
Sub vba_last_row() Dim iRow As Long iRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row MsgBox iRow End Sub
Para o número da coluna:
Sub vba_last_row() Dim iColumn As Long iColumn = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column MsgBox iColumn End Sub
Para obter o endereço da última célula.
Sub vba_last_row() Dim iColumn As Long Dim iRow As Long iColumn = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column iRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row Cells(iRow, iColumn).Address End Sub