Última linha do VBA - Os 3 métodos principais para encontrar a última linha usada?

No VBA, quando temos que encontrar a última linha, existem muitos métodos diferentes e o método mais comumente usado é o método End (XLDown) e existem outros métodos, como encontrar o último valor usando a função find em VBA, End (XLDown) ) A linha é a maneira mais fácil de chegar à última linha.

Última linha do Excel VBA

Se escrever o código é o primeiro progresso feito no VBA, tornar o código dinâmico é a próxima etapa para você. O Excel está cheio de referências de células. No momento em que nos referimos à célula, ela se torna fixa. Se nossos dados aumentarem, precisamos voltar à referência da célula e alterar as referências para tornar o resultado atualizado.

Por exemplo, veja o código abaixo.

Código:

Sub Last_Row_Example1 () Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B7")) End Sub

O código acima diz em D2, o valor da célula deve ser a soma do intervalo (“B2: B7”).

Agora vou adicionar mais valores à lista.

Agora, se eu executar o código, ele não me dará o resultado das atualizações, em vez disso, ele ainda mantém o intervalo antigo, ou seja, Range (“B2: B7”).

É aqui que o código dinâmico é muito importante.

No processo de tornar o código dinâmico, encontrar a última linha usada na coluna é muito importante. Neste artigo, discutiremos as maneiras de localizar a última linha no Excel VBA.

Como encontrar a última linha usada na coluna?

Abaixo estão os exemplos para encontrar a última linha usada no Excel VBA.

Método 1

Antes de explicar o código, quero que você se lembre de como foi para a última linha na planilha normal.

Usaremos a tecla de atalho Ctrl + seta para baixo.

Isso nos levará à última linha usada antes de qualquer célula vazia. Usaremos o mesmo método no VBA também para encontrar a última linha.

Etapa 1: defina a variável como LONG.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Last Row End Sub

Passo 2: Para esta variável, iremos atribuir o último número de linha usado.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Last Row LR = End Sub

Etapa 3: escreva o código como CELLS (Rows.Count,

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última linha LR = Cells (Rows.Count, End Sub

Etapa 4: agora mencione o número da coluna como 1.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última linha LR = Cells (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) significa contar quantas linhas existem na primeira coluna.

Portanto, o código VBA acima nos levará para a última linha da planilha do Excel.

Passo 5: Se estivermos na última célula da planilha para ir para a última linha usada, vamos pressionar a tecla de atalho Ctrl + seta para cima .

No VBA, precisamos usar a chave final e up, ou seja, End VBA xlUp

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última linha LR = Cells (Rows.Count, 1) .End (xlUp) End Sub

Passo 6: Agora, ele nos levará à última linha usada de baixo. Agora precisamos do número da linha disso. Portanto, use a propriedade ROW para obter o número da linha.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última linha LR = Células (Rows.Count, 1) .End (xlUp) .Row End Sub

Passo 7: Agora, a variável contém o último número de linha usado. Mostre o valor desta variável na caixa de mensagem em código VBA.

Código:

Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última linha LR = Células (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub

Execute este código usando a tecla F5 ou manualmente. Ele exibirá a última linha usada.

Resultado:

A última linha usada nesta planilha é 13.

Now I will delete one more line and run the code and see the dynamism of the code.

Ok, now the result automatically takes the last row.

This is what the dynamic VBA last row code is.

As I showed in the earlier example, change the row number from a numeric value to LR.

Code:

Sub Last_Row_Example2() Dim LR As Long 'For understanding LR = Last Row LR = Cells(Rows.Count, 1).End(xlUp).Row Range("D2").Value = WorksheetFunction.Sum(Range("B2:B" & LR)) End Sub

I have removed B13 and added the variable name LR.

Now it does not matter how many rows you add. It will automatically take the updated reference.

Method #2

We can also find the last row in VBA by using the Range object and special VBA cells property as well.

Code:

Sub Last_Row_Example3() Dim LR As Long LR = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LR End Sub

O código também fornece a última linha usada. Por exemplo, observe a imagem da planilha abaixo.

Se eu executar o código manualmente ou usando a tecla F5, o resultado será 12 porque 12 é a última linha usada.

Resultado:

Agora vou deletar a 12ª linha e ver o resultado.

Embora eu tenha excluído uma linha, ela ainda mostra o resultado como 12.

Para fazer esse código funcionar, precisamos clicar no botão Salvar após cada ação. Então, este código retornará resultados precisos.

Salvei a pasta de trabalho e agora vejo o resultado.

Método # 3

Podemos encontrar a última linha do VBA na faixa usada. O código a seguir também retorna a última linha usada.

Código:

Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub

Isso também retornará a última linha usada.

Resultado:

Artigos interessantes...