Última linha VBA

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.

Para obter um 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 que o valor da célula D2 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 continua com 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.

Você pode baixar este modelo de última linha VBA aqui - modelo de última linha VBA

Método 1

Antes de explicar o código, quero que você se lembre de como foi para a última linha da 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á à última linha da planilha do Excel.

Passo 5: Se estivermos na última célula da planilha para ir para a última linha usada, pressionaremos a tecla de atalho como Ctrl + tecla de 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 

Etapa 6: agora nos levará para a ú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.

Agora vou deletar mais uma linha e rodar o código e ver o dinamismo do código.

Ok, agora o resultado assume automaticamente a última linha.

Este é o código da última linha do VBA dinâmico.

Como mostrei no exemplo anterior, altere o número da linha de um valor numérico para LR.

Código:

 Sub Last_Row_Example2 () Dim LR As Long 'Para entender LR = Última linha LR = Cells (Rows.Count, 1) .End (xlUp) .Row Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B "e LR)) End Sub 

Removi B13 e adicionei o nome da variável LR.

Agora, não importa quantas linhas você adicionar, ele automaticamente terá a referência atualizada.

Método # 2

Também podemos encontrar a última linha no VBA usando o objeto Range e também a propriedade especial das células VBA.

Código:

 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.

Even though I have deleted one row it is still showing the result as 12.

In order to make this code work we need to hit the save button after every action, then this code will return accurate results.

I have saved the workbook and now see the result.

Method #3

We can find the VBA last row in the used range. Below code also returns the last used row.

Code:

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

This will also return the last used row.

Output: