Supprimer la ligne VBA

Excel VBA Supprimer la ligne

Normalement, dans la feuille de calcul Excel, nous avons deux méthodes différentes pour supprimer des lignes, l'une étant le raccourci clavier et l'autre en utilisant le clic droit et la méthode d'insertion, mais dans VBA, nous devons utiliser la commande de suppression et l'instruction de feuille de calcul pour supprimer toutes les lignes ensemble, l'astuce pour c'est que si nous devons supprimer une seule ligne, nous donnons une seule référence de ligne, mais pour les colonnes multiples, nous donnons plusieurs références de ligne.

En utilisant la méthode de suppression de ligne VBA, nous pouvons supprimer toutes les lignes vides, nous pouvons supprimer la ligne en fonction de la valeur de la cellule, nous pouvons également supprimer la ligne entière si l'une des cellules est vide.

Dans cet article, nous aborderons la méthode «VBA Delete Row». Restez occupé pendant les 15 à 20 prochaines minutes pour en savoir plus sur le concept.

Comment supprimer une ligne?

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

Exemple 1

Dans VBA, nous devons mentionner la ligne que nous supprimons.

Code:

 Sub DeleteRow_Example1 () Cellules (1, 1) End Sub 

Les cellules (1, 1) désignent la première colonne de la première ligne, c'est-à-dire la cellule A1. Ensuite, nous utilisons la méthode «supprimer».

Code:

 Sub DeleteRow_Example1 () Cells (1, 1) .Delete End Sub 

Maintenant, cela supprimera la première cellule. Toutes les valeurs du côté droit se déplaceront d'une cellule vers la gauche.

Exemple # 2

Si vous souhaitez supprimer la ligne entière, nous devons utiliser la propriété «Ligne entière», nous devons utiliser la méthode «supprimer» pour supprimer la ligne entière de la cellule que nous avons sélectionnée.

Code:

Sub DeleteRow_Example2 () Cells (1, 1) .EntireRow. Supprimer End Sub

Par exemple, j'ai entré quelques caractères dans une feuille Excel comme suit.

Maintenant, si j'exécute ce code, il supprimera la ligne entière et non une seule cellule.

Exemple # 3

Nous pouvons supprimer la ligne de plusieurs manières. Dans l'exemple ci-dessus, nous avons supprimé la ligne à l'aide de la propriété CELLS, nous allons maintenant voir comment supprimer à l'aide de la propriété ROWS.

Nous devons maintenant mentionner quelle est la ligne que nous devons supprimer, disons que nous devons supprimer la 5ème ligne.

Maintenant, utilisez la propriété «EntierRow» de la propriété.

Après avoir sélectionné la propriété ce que nous devons faire c'est-à-dire la méthode. Nous devons supprimer la ligne.

Code:

 Sub DeleteRow_Example3 () Rows (5) .EntireRow.Delete End Sub 

Donc, ce code supprimera la 5ème ligne.

Exemple # 4

Supprimer plusieurs lignes à l'aide de l'objet Range

Comment supprimer plusieurs lignes?

Nous pouvons utiliser l'objet VBA RANGE pour supprimer plus d'une ligne. Supposons que vous ayez des valeurs de cellules A1 à A6.

Maintenant, je veux supprimer les 5 premières lignes, afin que je puisse référencer ces lignes en utilisant l'objet Range comme "Range (" A1: A5 ")"

Code:

 Sub DeleteRow_Example4 () Range ("A1: A5") End Sub 

Maintenant, je veux utiliser la propriété du mot «Ligne entière».

Code:

 Sub DeleteRow_Example4 () Range ("A1: A5") .EntireRow End Sub 

Dans toute cette ligne, nous devons effectuer la méthode de suppression, utilisez donc la méthode Delete.

Code:

 Sub DeleteRow_Example4 () Range ("A1: A5"). CompleteRow .Delete End Sub 

Maintenant, cela supprimera les lignes sélectionnées.

Exemple # 5

Supprimer les lignes en fonction de la valeur de la cellule

Nous pouvons également utiliser cette méthode «CompleteRow.Delete» pour supprimer la ligne en fonction de la valeur de la cellule dans VBA. Par exemple, j'ai des valeurs Oui et Non de la cellule A1 à A10.

Nous devons maintenant supprimer les lignes qui ont la valeur «Non». Pour effectuer cette tâche, nous devons utiliser la fonction «IF» avec des boucles pour supprimer toutes les lignes qui ont la valeur «Non».

Le code ci-dessous fera le travail pour nous.

Code:

 Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub 

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range is blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

 Sub DeleteRow_Example6() Range("A1:F10").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

This will identify the blank cells in the range A1 to F10.IF any blank cells found will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells it will not delete. So keeping this in mind I have written one more code.

Code:

 Sub DeleteRow_Example7() Dim RangeToDelete As Range Dim DeletionRange As Range Set RangeToDelete = Application.InputBox("Please select the range", "Blank Cells Rows Deletion", Type:=8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

When you run this code firstly it will ask you to select the range with an input box appearing in front of you.

After selecting the range you need to click on OK, it will delete all the blank cells rows in the selected range.