VBA Rechercher la dernière ligne dans Excel (5 façons)

  • Partage Ça
Hugh West

Dans le VBA, vous pouvez utiliser différentes méthodes pour trouver la dernière ligne. Dans cet article, je vais expliquer différentes méthodes de VBA pour trouver la dernière ligne dans Excel.

Pour rendre cette explication visible, je vais utiliser un ensemble de données d'exemple. L'ensemble de données comporte 4 colonnes représentant des informations sur les ventes. Ces colonnes sont les suivantes Personne de vente, région, produit, et Prix .

Télécharger pour pratiquer

VBA Trouver la dernière rangée.xlsm

Méthodes VBA pour trouver la dernière ligne dans Excel

1) Utilisation de SpecialCells pour trouver la dernière rangée

Vous pouvez utiliser le SpecialCells pour trouver la dernière ligne en utilisant VBA .

Tout d'abord, ouvrez le Développeur onglet>> ; puis sélectionnez Visual Basic

Une nouvelle fenêtre de Microsoft Visual Basic pour les applications s'affichera.

Maintenant, de Insérer >> ; sélectionner Module

A Module sera ouvert.

Ensuite, écrivez le code suivant dans le fichier Module .

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

Ici, j'ai créé une sous procédure appelée LastRow_SpecialCells où a Long type de variable LastRow a été déclaré.

Ensuite, nous avons défini la variable en utilisant l'option Range.SpecialCells Ici, j'ai utilisé la colonne A ( A:A ) comme plage. xlCellTypeLastCell comme paramètre de type de SpecialCells cela renverra la dernière cellule de la plage (dans ce cas, de la colonne A ).

J'ai utilisé une boîte de message pour montrer le résultat.

Après ça, Sauvez le code et retourner à la feuille de travail.

Encore une fois, ouvrez le Voir onglet>> ; de Macros >> ; sélectionner Afficher les macros

Ensuite, un boîte de dialogue s'affichera.

Maintenant, de la Nom de la macro sélectionnez le LastRow_SpecialCells sélectionner également le classeur dans Macros dans .

Enfin, Exécuter l'élu Macro .

Ainsi, une boîte de message apparaîtra, indiquant le numéro de la dernière ligne.

2. utilisation de Rows.Count pour les cellules non vides

Vous pouvez utiliser le Rows.Count pour trouver la dernière ligne en utilisant VBA .

Maintenant, ouvrez le Développeur onglet>> ; puis sélectionnez Visual Basic

Une nouvelle fenêtre de Microsoft Visual Basic pour les applications s'affichera.

Maintenant, de Insérer >> ; sélectionner Module

A Module sera ouvert.

Ensuite, écrivez le code suivant dans le fichier Module .

 Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub 

Ici, j'ai créé une sous procédure appelée LastRow_NonEmpty, où un Long type de variable LastRow a été déclaré.

Maintenant, CELLS(Rows.Count, 1) comptera combien de lignes il y a dans la première colonne. Ensuite, utilisé End(xlUp).Row Cette fonction permet de trouver la dernière ligne utilisée dans une plage Excel.

A la fin, j'ai utilisé une boîte de message pour montrer le résultat.

Ensuite, Sauvez le code et retourner à la feuille de travail.

Ici, ouvrez le Voir onglet>> ; de Macros >> ; sélectionner Afficher les macros

Maintenant, un boîte de dialogue s'affichera.

Puis, à partir de la Nom de la macro sélectionnez le DernièreLigne_NonEmpty sélectionner également le classeur dans Macros dans .

Enfin, Exécuter l'élu Macro .

Ainsi, une boîte de message apparaîtra, indiquant le numéro de la dernière ligne.

3. utilisation de Rows.Count pour toute colonne sélectionnée

En utilisant n'importe quelle colonne sélectionnée dans VBA, vous pouvez trouver la dernière ligne.

Tout d'abord, ouvrez le Développeur onglet>> ; puis sélectionnez Visual Basic

Une nouvelle fenêtre de Microsoft Visual Basic pour les applications s'affichera.

Maintenant, de Insérer >> ; sélectionner Module

A Module sera ouvert.

Ensuite, écrivez le code suivant dans le fichier Module .

 Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & ; Rows.Count).End(xlUp).Row MsgBox LastRow End Sub 

Ici, j'ai créé une sous procédure appelée LastRow_AnyColumn, où un Long type de variable LastRow a été déclaré.

Ensuite, dans le Gamme compte tenu de la colonne B comme paramètre et aussi Rows.Count ce qui permet de compter le nombre de lignes d'une colonne donnée. B . suivant, utilisé End(xlup). Row qui trouvera la dernière ligne utilisée dans une plage Excel.

Enfin, j'ai utilisé une boîte de message pour montrer le résultat.

Suivant, Sauvez le code et retourner à la feuille de travail.

Ensuite, ouvrez le Voir onglet>> ; de Macros >> ; sélectionner Afficher les macros

Ici, un boîte de dialogue s'affichera.

Maintenant, de la Nom de la macro sélectionnez le DernièreLigne_TouteColonne sélectionner également le classeur dans Macros dans .

Enfin, Exécuter l'élu Macro .

Ainsi, une boîte de message apparaîtra, indiquant le numéro de la dernière ligne.

Lectures similaires :

  • VBA Rechercher dans une colonne dans Excel (7 approches)
  • Rechercher et remplacer en utilisant VBA (11 façons)
  • Trouver une correspondance exacte en utilisant VBA dans Excel (5 façons)
  • Comment trouver une chaîne de caractères avec VBA dans Excel (8 exemples)

4. utilisation de UsedRange pour trouver la dernière ligne

Vous pouvez utiliser le Gamme d'occasion de la feuille de calcul pour trouver la dernière ligne en utilisant la propriété VBA .

Maintenant, ouvrez le Développeur onglet>> ; puis sélectionnez Visual Basic

Ensuite, une nouvelle fenêtre de Microsoft Visual Basic pour les applications s'affichera.

Maintenant, de Insérer >> ; sélectionner Module

A Module sera ouvert.

Ensuite, écrivez le code suivant dans le fichier Module .

 Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row : " & ; LastRow End Sub 

Ici, j'ai créé une sous procédure appelée LastRow_UsedRange, dans laquelle un Long type de variable LastRow a été déclaré.

Ensuite, définissez la variable en utilisant l'option ActiveSheet.UsedRange.Rows méthode également fournie ActiveSheet.UsedRange.Rows.Count (feuille active) comme paramètre de ActiveSheet.UsedRange.Rows cela renverra la dernière ligne.

J'ai utilisé une boîte de message pour montrer le résultat.

Maintenant, Sauvez le code et retourner à la feuille de travail.

Ensuite, ouvrez le Voir onglet>> ; de Macros >> ; sélectionner Afficher les macros

Ensuite, un boîte de dialogue s'affichera.

Ensuite, à partir de la Nom de la macro sélectionnez le Dernière rangée_Etendue utilisée sélectionner également le classeur dans Macros dans .

Enfin, Exécuter l'élu Macro .

Ainsi, une boîte de message apparaîtra, indiquant le numéro de la dernière ligne.

5. utilisation de Range.Find pour trouver la dernière rangée

Vous pouvez utiliser le Range.Find pour trouver la dernière ligne en utilisant VBA .

Maintenant, ouvrez le Développeur onglet>> ; puis sélectionnez Visual Basic

Ici, une nouvelle fenêtre de Microsoft Visual Basic pour les applications s'affichera.

Maintenant, de Insérer >> ; sélectionner Module

A Module sera ouvert.

Ensuite, écrivez le code suivant dans le fichier Module .

 Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 MsgBox "Last Row : " & ; LastRow End Sub 

Ici, j'ai créé une sous procédure appelée Range_Find_Method, où un Long type de variable LastRow a été déclaré.

Ensuite, nous avons défini la variable en utilisant l'option Cells.Find Ici, on a déclaré 7 paramètres. Dans Quoi J'ai utilisé le paramètre ("*") qui trouvera la première cellule non vide. Vu A1 comme la gamme dans le Après pour commencer. Regardez paramètre fourni xlPart pour regarder n'importe quelle partie du texte à l'intérieur de la cellule.

LookIn:=xlFormulas Le paramètre recherchera les formules s'il y en a. SearchOrder:=xlByRows se déplace de droite à gauche et parcourt également chaque ligne jusqu'à ce qu'il trouve une cellule non vide.

MatchCase:=False indique que le paramètre Trouvez sans tenir compte des lettres majuscules ou minuscules. Lorsqu'un élément non blanc est trouvé, il s'arrête et renvoie le numéro de la ligne.

J'ai utilisé une boîte de message pour montrer le résultat.

Maintenant, Sauvez le code et retourner à la feuille de travail.

Ici, ouvrez le Voir onglet>> ; de Macros >> ; sélectionner Afficher les macros

Maintenant, un boîte de dialogue s'affichera.

Maintenant, de la Nom de la macro sélectionnez le Méthode de recherche de plage sélectionner également la feuille de calcul dans Macros dans .

Enfin, Exécuter l'élu Macro .

Ainsi, une boîte de message apparaîtra, indiquant le numéro de la dernière ligne.

Conclusion

Dans cet article, j'ai expliqué 5 façons de VBA trouver la dernière ligne dans Excel. Vous pouvez suivre n'importe quelle méthode pour trouver la dernière ligne. En cas de confusion ou de question concernant ces méthodes, vous pouvez commenter ci-dessous.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.