Dernière ligne VBA

Dans VBA, lorsque nous devons trouver la dernière ligne, il existe de nombreuses méthodes différentes et la méthode la plus couramment utilisée est la méthode End (XLDown) et il existe d'autres méthodes telles que la recherche de la dernière valeur à l'aide de la fonction find dans VBA, End (XLDown ). La ligne est le moyen le plus simple d'accéder à la dernière ligne.

Excel VBA dernière ligne

Si l'écriture du code est la première progression que vous avez faite dans VBA, la prochaine étape est de rendre le code dynamique. Excel est plein de références de cellules, au moment où nous nous référons à la cellule, cela devient fixe. Si nos données augmentent, nous devons revenir à la référence de cellule et modifier les références pour mettre le résultat à jour.

Pour un exemple, regardez le code ci-dessous.

Code:

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

Le code ci-dessus indique que la valeur de la cellule D2 doit être la somme de la plage («B2: B7»).

Maintenant, je vais ajouter plus de valeurs à la liste.

Maintenant, si j'exécute le code, il ne me donnera pas le résultat des mises à jour plutôt qu'il reste fidèle à l'ancienne plage, c'est-à-dire Range («B2: B7»).

C'est là que le code dynamique est très important.

Dans le processus de dynamisation du code, il est très important de trouver la dernière ligne utilisée dans la colonne. Dans cet article, nous discuterons des moyens de trouver la dernière ligne dans Excel VBA.

Comment trouver la dernière ligne utilisée dans la colonne?

Voici les exemples pour trouver la dernière ligne utilisée dans Excel VBA.

Vous pouvez télécharger ce modèle de dernière ligne VBA ici - Modèle de dernière ligne VBA

Méthode n ° 1

Avant de vous expliquer le code, je veux que vous vous rappeliez comment vous allez à la dernière ligne de la feuille de calcul normale.

Nous utiliserons la touche de raccourci Ctrl + flèche vers le bas.

Cela nous mènera à la dernière ligne utilisée avant toute cellule vide. Nous utiliserons également la même méthode dans VBA pour trouver la dernière ligne.

Étape 1: définissez la variable comme LONG.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row End Sub 

Étape 2: Pour cette variable, nous attribuerons le dernier numéro de ligne utilisé.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row LR = End Sub 

Étape 3: écrivez le code sous forme de CELLULES (Rows.Count,

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row LR = Cells (Rows.Count, End Sub 

Étape 4: mentionnez maintenant le numéro de colonne comme 1.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row LR = Cells (Rows.Count, 1) End Sub 

CELLS (Rows.Count, 1) signifie compter le nombre de lignes présentes dans la première colonne.

Ainsi, le code VBA ci-dessus nous mènera à la dernière ligne de la feuille Excel.

Étape 5: Si nous sommes dans la dernière cellule de la feuille pour aller à la dernière ligne utilisée, nous appuierons sur la touche de raccourci comme Ctrl + Flèche vers le haut .

Dans VBA, nous devons utiliser la clé de fin et up ie End VBA xlUp

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) End Sub 

Étape 6: Maintenant, cela nous amènera à la dernière ligne utilisée à partir du bas. Nous avons maintenant besoin du numéro de ligne de ceci. Utilisez donc la propriété ROW pour obtenir le numéro de ligne.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row End Sub 

Étape 7: La variable contient maintenant le dernier numéro de ligne utilisé. Afficher la valeur de cette variable dans la boîte de message en code VBA.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Pour comprendre LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub 

Exécutez ce code à l'aide de la touche F5 ou manuellement, il affichera la dernière ligne utilisée.

Production:

La dernière ligne utilisée dans cette feuille de calcul est 13.

Maintenant, je vais supprimer une ligne de plus et exécuter le code et voir le dynamisme du code.

Ok, maintenant le résultat prend automatiquement la dernière ligne.

C'est ce qu'est le code de dernière ligne VBA dynamique.

Comme je l'ai montré dans l'exemple précédent, changez le numéro de ligne d'une valeur numérique en 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 

The code also gives you the last used row. For example, look at the below worksheet image.

If I run the code manually or using F5 key result will be 12 because 12 is the last used row.

Output:

Now I will delete the 12th row and see the result.

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: