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é.
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.
Lancer un nouveau projet de droit; cliquant votre classeur sur la droite; menu de main et le choix de la "Nouveau" option.
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.
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.
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é.
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.
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.
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.
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.