VBA Delete Row

Dans Excel pour supprimer une ligne, nous avons un raccourci pour utiliser CTRL + - ou nous pouvons sélectionner la ligne et faire un clic droit dessus et la supprimer. Mais dans VBA, nous l'avons fait en écrivant un code pour cela. La méthode de suppression d'une ligne dans VBA est d'abord que nous devons identifier la ligne à supprimer, puis nous pouvons la supprimer. Dans cet article, nous allons découvrir différentes illustrations sur la façon de supprimer une ligne dans VBA.

Dans VBA, Supprimer la ligne est utilisé pour supprimer un ensemble de lignes ou une seule ligne selon les situations. Semblable à la feuille de calcul Excel, nous pouvons utiliser des macros ou VBA pour supprimer les lignes d'une feuille de calcul Excel. Cela aide lorsque de nombreuses données sont en notre possession et que nous ne pouvons pas le faire manuellement.

Syntaxe pour supprimer une ligne dans Excel VBA

La syntaxe pour supprimer une ligne dans Excel est la suivante.

Worksheets.Rows (Row #). Delete

Il existe également d'autres méthodes pour supprimer des lignes à l'aide de VBA, comme suit.

Range («Cell»). FullyRow.Delete

Ce que l'instruction ci-dessus fera, c'est qu'elle supprimera la ligne de la ligne donnée. Par exemple, si nous écrivons Range («A1»). FullyRow.Delete, la première ligne sera supprimée car la cellule A1 appartient à la première ligne.

En outre, nous pouvons utiliser Rows (row_num) .delete pour supprimer une ligne.

Comment supprimer une ligne dans Excel à l'aide de VBA?

Vous trouverez ci-dessous quelques exemples de suppression d'une ligne dans Excel à l'aide de VBA.

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

VBA Delete Row - Exemple # 1

Utilisons la première méthode simple pour supprimer des lignes. À des fins de démonstration, je saisirai une valeur aléatoire dans les cellules A1 et B1. Jetez un œil ci-dessous.

Ce que je veux voir, c'est si j'utilise le code écrit au-dessus de la ligne entière sera supprimée ou une seule cellule sera supprimée.

Remarque: Pour utiliser Excel VBA, nous devons avoir l'onglet développeur activé à partir de l'onglet Fichiers dans la section des options.

Suivez les étapes ci-dessous pour supprimer une ligne dans Excel à l'aide de VBA.

Étape 1: Accédez à l'onglet du développeur, cliquez sur Visual Basic pour ouvrir l'éditeur VBA.

Étape 2: Dans le segment de code, déclarez une sous-fonction pour commencer à écrire le code.

Code:

 Sous-échantillon () End Sub 

Étape 3: Maintenant, écrivez le code suivant pour supprimer la ligne.

Code:

 Sub Sample () Range ("A1"). FullyRow.Delete End Sub 

Étape 4: exécutez ce code en appuyant sur F5 ou sur le bouton Exécuter et voyez la sortie.

Une fois que nous avons exécuté le code, nous pouvons voir que les valeurs des cellules A1 et B1 sont supprimées car toute la première ligne a été supprimée.

VBA Delete Row - Exemple # 2

Plus tôt dans le premier exemple, je n'ai supprimé qu'une seule ligne. Mais qu'en est-il si nous devons supprimer plusieurs lignes. À des fins de démonstration, j'ai les données suivantes comme indiqué ci-dessous,

Je souhaite supprimer les cinq premières lignes. Suivez les étapes ci-dessous pour supprimer une ligne dans Excel à l'aide de VBA.

Étape 1: dans l'onglet développeur, cliquez sur Visual Basic pour ouvrir l'éditeur VBA.

Étape 2: dans le code, déclarez une sous-fonction pour commencer à écrire le code,

Code:

 Sub Sample1 () End Sub 

Étape 3: Écrivez le code suivant ci-dessous pour supprimer les cinq lignes entières.

Code:

 Sub Sample1 () Range ("A1: B5"). FullyRow.Delete End Sub 

Étape 4: exécutez ce code en appuyant sur F5 ou sur le bouton Exécuter et voyez la sortie.

Une fois que nous avons exécuté le code, nous voyons le résultat suivant, Les données entières ont été supprimées signifie que les cinq premières lignes ont été supprimées car nous avions des données dans les cinq premières lignes.

Remarque: Je réinsérerai les données dans la feuille d'échantillons Excel pour la démonstration.

VBA Delete Row - Exemple # 3

Nous avons maintenant des données sur les employés et leurs ventes se font en trois mois de janvier, février et mars. Un des employés était en congé et n'a pas pu vendre pendant trois mois, les cellules sont vides pour lui. Notre objectif est de trouver cette ligne vierge et de la supprimer des données.

Jetez un œil aux données ci-dessous,

Suivez les étapes ci-dessous pour supprimer une ligne dans Excel à l'aide de VBA.

Étape 1: Dans l'onglet du développeur, cliquez sur Visual Basic pour ouvrir un éditeur Visual Basic.

Étape 2: Déclarez la sous-fonction dans la fenêtre de code pour commencer à écrire le code,

Code:

 Sub Sample2 () End Sub 

Étape 3: Écrivez le code suivant pour supprimer les lignes qui ont des cellules vides.

Code:

 Sub Sample2 () Range ("A1: D5"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

SpecialCells est une fonction dans VBA qui nous renvoie toutes les cellules qui correspondent à nos conditions et notre condition était les cellules vides dans cette plage, nous avons donc utilisé une fonction xlCellTypeBlanks.

Étape 4: exécutez ce code en appuyant sur F5 ou sur le bouton Exécuter et voyez la sortie.

Une fois que nous avons exécuté le code, nous pouvons voir que la ligne contenant les cellules vides a été supprimée.

Remarque: je vais à nouveau insérer les données dans la feuille d'exemple Excel pour la démonstration.

VBA Delete Row - Exemple # 4

Il existe d'autres méthodes similaires pour supprimer les lignes, telles que l'utilisation des lignes et de la fonction de suppression. Par exemple, nous avons des données dans la ligne 4 et je veux supprimer la ligne 4. Nous pouvons donner une commande pour exceller pour supprimer la 4 e ligne dans les données. Jetez un oeil à la capture d'écran ci-dessous J'ai des données aléatoires à la ligne 4 dans la première cellule.

Suivez les étapes ci-dessous pour supprimer une ligne dans Excel à l'aide de VBA.

Étape 1: Ouvrez l'éditeur VBA en cliquant sur Visual Basic dans l'onglet Développeur,

Étape 2: Déclarez la sous-fonction pour commencer à écrire le code.

Code:

 Sub Sample3 () End Sub 

Étape 3: Écrivez le code suivant pour supprimer la 4e ligne.

Code:

 Sub Sample3 () Rows (4) .Delete End Sub 

Étape 4: exécutez ce code en appuyant sur F5 ou sur le bouton Exécuter et voyez la sortie.

Les données ont été supprimées car la 4 e ligne a été supprimée elle-même.

VBA Delete Row - Exemple # 5

Dans le code ci-dessus, nous avons donné la plage ou la ligne à supprimer dans le code lui-même. Prenons maintenant la saisie de l'utilisateur et il peut supprimer la ligne d'une donnée donnée. Par exemple, j'ai des données sur les employés et les ventes comme ci-dessous et je veux qu'un utilisateur sélectionne la plage à partir de la quantité de données qu'il souhaite supprimer les lignes avec des cellules vides. Jetez un œil aux données ci-dessous,

Suivez les étapes ci-dessous pour supprimer une ligne dans Excel à l'aide de VBA.

Étape 1: ouvrez l'éditeur VB en cliquant sur Visual Basic dans l'onglet du développeur,

Étape 2: Déclarez une sous-fonction pour commencer à écrire le code.

Code:

 Sub Sample4 () End Sub 

Étape 2: Déclarez deux variables comme plage, A et B.

Code:

 Sub Sample4 () Dim A comme plage Dim B comme plage fin Sub 

Étape 3: Pour prendre l'entrée de l'utilisateur pour une sélection de plage à supprimer, nous utiliserons la fonction de zone de saisie et nous enregistrerons cette entrée dans une variable définie ci-dessus.

Code:

 Sub Sample4 () Dim A As Range Dim B B Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) End Sub 

Étape 4: Réglez B = A pour que l'entrée de l'utilisateur puisse être stockée dans la plage B.

Code:

 Sub Sample4 () Dim A As Range Dim B As Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) Set B = A End Sub 

Étape 5: Maintenant, nous allons supprimer les données qui contiennent des cellules vides de la plage choisie par l'utilisateur.

Code:

 Sub Sample4 () Dim A As Range Dim B As Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) Set B = A A.SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

Étape 6: exécutez maintenant le code à partir du bouton Exécuter fourni.

Étape 6: Une boîte de saisie apparaît.

Étape 7: sélectionnez la plage A1: D8 dans cet exemple. Appuyez sur OK pour voir le résultat.

Les données qui avaient des cellules vides ont été supprimées.

Choses dont il faut se rappeler

Il y a quelques points dont nous devons nous rappeler à propos de la suppression de ligne dans Excel VBA:

  • Nous pouvons supprimer la ligne basée sur une seule cellule.
  • Nous pouvons supprimer plusieurs lignes en donnant une plage de cellules.
  • Nous pouvons également supprimer des lignes en prenant des entrées de l'utilisateur.

Articles recommandés

Cela a été un guide pour VBA Delete Row. Ici, nous avons discuté de la façon de supprimer une ligne dans Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment utiliser la fonction de remplacement dans VBA?
  2. Raccourci de suppression de ligne Excel
  3. VBA Case | Astuces Excel
  4. Raccourci d'insertion de ligne Excel
  5. Comment additionner plusieurs lignes dans Excel?

Catégorie: