Comment faire pour supprimer des lignes en double dans Excel à l'aide VBA

October 24

Comment faire pour supprimer des lignes en double dans Excel à l'aide VBA


Certaines feuilles de calcul sont utilisées et mises à jour beaucoup. Ceux-ci sont souvent remplis avec des données qui se répète plusieurs fois. Il existe des moyens pour trouver et supprimer toutes les lignes qui contiennent que les données en double, mais l'un des moyens les plus simples et automatiques pour y parvenir est avec une macro Visual Basic. Excel contient une demande de programmation appelé Excel VBA, qui peut être utilisé pour faire un certain nombre de macros-morceaux de code conçus pour faire un travail personnalisé à chaque fois convoqué.

Instructions

Programmation de la macro

1 Ouvrez votre feuille de calcul dans Excel et ouvrez votre éditeur de VBA en appuyant sur Alt et la touche F11 sur votre ordinateur.

2 Démarrez un nouveau projet en cliquant droit sur votre classeur dans le menu de droite et en choisissant l'option "Nouveau".

3 Démarrez la nouvelle fonction avec "DeleteDuplicateRows Sub ()." Cela informe le compilateur VBA qu'il y a un nouveau sous-programme qui devrait être au courant.

4 Créer les variables avec le code suivant:

Row Dim As Long
Dim Count As Long
Dim Comparer As Variant
Dim Range Comme Range

Cela indique au système de mettre de côté les quatre variables (Row, Count, comparaison et Range) à utiliser dans le code. Vous pouvez utiliser tous les noms de variables plus de sens pour vous, mais rappelez-vous de les changer dans le code plus tard.

5 Mettre en place la macro avec un code plus basique:

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Set Range = Application.Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

Application.StatusBar = "Traitement Row:" & Format (Rng.Row, "#, ## 0")

Le premier groupe de code indique le système pour exécuter la macro si elle se heurte à des problèmes. Le deuxième groupe définit la variable de portée en fonction de ce que l'utilisateur a sélectionné.

6 Tapez le code suivant:

Count = 0
Pour Row = Range.Rows.Count Pour 2 Step -1
Si Row Mod 500 = 0 Then

Application.StatusBar = "Processing Row: " & Format(R, "#,##0")

Fin si

Comparer = Range.Cells (Row, 1) .Value

Cela signifie que le système à l'étape à travers chacune des lignes sélectionnées par l'utilisateur, et modifier la variable Comparer cette ligne chaque fois qu'il se déplace.

7 Entrez le code suivant suivant:

Si V = vbNullString Ensuite

If Application.WorksheetFunction.CountIf(Rng.Columns(1), vbNullString) > 1 Then
Rng.Rows(R).EntireRow.Delete
N = N + 1
End If

Autre

If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
Rng.Rows(R).EntireRow.Delete
N = N + 1
End If

Fin si

Ces déclarations sont celles qui racontent en fait le système pour comparer la variable Comparer à la cellule suivante et supprimer la ligne si les deux sont les mêmes.

8 Appuyez sur Entrée pour insérer un couple de nouvelles lignes, puis tapez "Next Row". Cela indique au système d'arrêter de regarder à la première rangée, et passer à la suivante.

9 Fermez la fonction avec:

EndMacro:

Application.StatusBar = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "lignes en double supprimés:" & CStr (N)

End Sub

Ces dernières lignes indiquent au système comment fermer le sous-programme sur, et aussi pour afficher une boîte de message utile pour informer l'utilisateur que la macro effectivement fait ce qu'il était censé faire.

Utilisation de la macro

dix Enregistrer la feuille de calcul. Enregistrer une deuxième copie, sauvegarde avant d'utiliser la macro. Soit copier et coller le fichier dans un dossier de sauvegarde, ou nous "Enregistrer sous" fichier pour enregistrer la deuxième copie, vous devrez fermer Excel et rouvrez-le.

11 Cliquez et faites glisser votre curseur autour de la colonne la plus importante de données. Ceci est celui pour lequel toutes les entrées doivent diffèrent, comme dans, si tout avait été saisi correctement, il n'y aurait pas des entrées en double.

12 Ouvrez le menu "Outils" et sélectionnez "Macros". Cela ouvre la boîte de dialogue macros, vous permettant de choisir et d'exécuter votre macro.

13 Sélectionnez votre macro; si vous avez utilisé l'exemple ci-dessus, il sera appelé "DelDuplicateR." Appuyez ensuite sur le bouton "Exécuter". La macro fonctionnera automatiquement et affiche un message indiquant que les doublons ont été supprimés.

Conseils et avertissements

  • Ceci ne fonctionne que si le contenu des deux cellules sont exactement les mêmes. Il ne fonctionnera pas si elles diffèrent même par une petite quantité.
  • Macros ne peuvent pas être annulées en utilisant la commande "Annuler" dans le menu ou Ctrl et Z. "Modifier" Avant d'utiliser les macros, vous devez sauvegarder vos données pour éviter de perdre entièrement.

          

Post a comment: