Visse regneark anvendes og opdateres en masse. Disse ofte er fyldt med data, der gentages flere gange. Der er måder at finde og slette alle rækker, som indeholder , at dublerede data , men en af de mest simple og automatiske måder at opnå dette på er med en Visual Basic makro. Excel indeholder en ansøgning om programmering kaldet Excel VBA , som kan bruges til at gøre et vilkårligt antal Makroer - stykker kode designet til at gøre en brugerdefineret job når tilkaldt. Ting du skal
Microsoft Excel
Vis Flere Instruktioner
Programmering Macro
1
Åbn dit regneark i Excel , og åbn din VBA editoren ved at trykke Alt og F11-tasten på computeren.
2
Start et nyt projekt ved at højreklikke din projektmappe på menuen til højre og vælge "Ny" valgmulighed.
3
Start den nye funktion med "Sub DeleteDuplicateRows (). " Dette informerer VBA compiler , at der er en ny subrutine , at det skal være opmærksomme på.
4
Opret variabler med følgende kode : Hej
Dim Row Da LongDim Count Som LongDim Sammenlign Som VariantDim Range Som Range
Dette fortæller systemet at afsætte de fire variabler ( Row, Count, Sammenligning og Range ) til at bruge i koden . Du kan bruge hvad variabelnavne giver mere mening for dig, men husk at ændre dem i den senere koden
5
Opstil makro med nogle mere grundlæggende kode : .
On Error GoTo EndMacroApplication.ScreenUpdating = FalseApplication.Calculation = xlCalculationManual
Set Range = Application.Intersect ( ActiveSheet.UsedRange , _ActiveSheet.Columns ( ActiveCell.Column ) ) Application.StatusBar = " Behandler Row: " & Format ( Rng.Row , "# , # # 0")
den første gruppe koden fortæller systemet til at køre makroen , hvis den kører ind i nogen problemer. Den anden gruppe indstiller intervallet variable ifølge hvad brugeren har valgt
6
Indtast følgende kode : .
Count = 0For Row = Range.Rows.Count Til 2 Step - 1Hvis Row Mod 500 = 0 ThenApplication.StatusBar = " Behandler Row: " & Format (R, "# , # # 0") End If
Sammenlign = Range.Cells ( Row, 1 ) . Value
Dette fortæller systemet at gå gennem hver af de rækker som brugeren har valgt , og ændre Sammenlign variable til denne række , hver gang den bevæger sig på .
7
Input følgende kode næste : .
p Hvis V = vbNullString ThenIf Application.WorksheetFunction.CountIf ( Rng.Columns (1), vbNullString ) > 1 ThenRng.Rows (R) EntireRow.DeleteN = N + 1End IfElseIf Application . WorksheetFunction.CountIf ( Rng.Columns (1), V) > 1 ThenRng.Rows ( R). EntireRow.DeleteN = N + 1End IfEnd Hvis
Disse udsagn er dem , der rent faktisk fortæller , at systemet sammenligne Sammenlign variabel til den næste celle og slette rækken , hvis de to er ens.
8
Tryk på Enter for at indsætte et par nye linjer, og indtast derefter "Næste Row" . Dette fortæller systemet at stoppe kigge på den første række , og gå videre til den næste
9
Luk ud funktionen med : .
EndMacro : Hej
Application . StatusBar = FalseApplication.ScreenUpdating = TrueApplication.Calculation = xlCalculationAutomaticMsgBox " Duplicate slettede rækker :" & CStr (N)
End Sub
Disse sidste linjer fortæller systemet, hvordan det at lukke subrutine ude, og også for at vise en hjælpsom besked boks informerer brugeren om, at Macro faktisk gjorde , hvad det skulle gøre .
bruge Macro
10
Gem regnearket . Gem et sekund, sikkerhedskopi , før du bruger Macro . Enten kopiere og indsætte fil i en backup mappe eller os "Gem som" filen for at gemme den anden kopi - du bliver nødt til at lukke Excel og genåbne den.
11
Click og træk din markør rundt den vigtigste kolonne med data . Dette er det, som alle poster skal forskel- som i, hvis alt var blevet indtastet korrekt , ville der ikke være nogen dubletter .
12
Åbn menuen "Funktioner" og vælg " ; makroer " Dette åbner makroer dialogen , så du kan vælge og køre din makro
13
Vælg din makro , . hvis du har brugt eksemplet ovenfor , vil det blive kaldt" . DelDuplicateR " . , tryk derefter på " Kør" knappen. Makro vil køre automatisk , og vise en meddelelse, der angiver , at de dubletter er blevet slettet.