Comment faire pour supprimer des lignes en double dans Excel VBA Utilisation

Certaines feuilles de calcul sont utilisées et mises à jour beaucoup. Ceux-ci sont souvent remplis avec les données qui se répète plusieurs fois. Il existe des moyens pour trouver et supprimer toutes les lignes qui contiennent ce que les données en double, mais l'un des moyens les plus simples et automatiques arriver 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é.

Choses que vous devez

  • Microsoft Excel

Programmation de la macro

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

  2. Lancer un nouveau projet de droit; cliquant votre classeur sur la droite; menu de main et le choix de la "Nouveau" option.

  3. Commencez la nouvelle fonction avec "Sous DeleteDuplicateRows ()." Cela informe le compilateur VBA qu'il ya un nouveau sous-programme qu'il 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, compter, de comparaison et Range) à utiliser dans le code. Vous pouvez utiliser ce que 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

    Définir Plage = 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 gamme 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 = "-traitement Row: "- &Format Amp (R, " - #, ## 0"-)

    End If

    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 de modifier le Comparez variable pour cette ligne chaque fois qu'il se déplace.

  7. Entrez le code suivant prochaine:

    Si V = vbNullString Puis

    Si Application.WorksheetFunction.CountIf (Rng.Columns (1), vbNullString) gt; Puis 1
    Rng.Rows (R) .EntireRow.Delete
    N = N + 1
    End If

    Autre

    Si Application.WorksheetFunction.CountIf (Rng.Columns (1), V) gt; Puis 1
    Rng.Rows (R) .EntireRow.Delete
    N = N + 1
    End If



    End If

    Ces déclarations sont celles qui racontent effectivement le système de 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 une couple de nouvelles lignes, puis tapez "Suivant 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 "Les lignes en double supprimées: " & 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 d'informer l'utilisateur que le Macro effectivement fait ce qu'il était censé faire.

Utilisation de la macro

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

  2. 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 devraient diffèrent, comme dans, si tout avait été entré correctement, il n'y aurait pas des entrées en double.

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

  4. Sélectionnez votre macro si vous avez utilisé l'exemple ci-dessus, il sera appelé "DelDuplicateR." Ensuite, appuyez sur la "Course" bouton. La macro va exécuter automatiquement et affiche un message indiquant que les doublons ont été supprimés.

Conseils & 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 à l'aide "Défaire" sous la commande "Éditer" menu ou Ctrl et Z. Avant d'utiliser des macros, vous devez sauvegarder vos données pour éviter de perdre entièrement.
» » » » Comment faire pour supprimer des lignes en double dans Excel VBA Utilisation