Visse regneark brukes og oppdateres mye. Disse ofte er fylt med data som blir gjentatt flere ganger. Det finnes måter å finne og slette alle rader som inneholder at dupliserte data , men en av de mest enkle og automatisk måter å gjøre dette på er med en Visual Basic Macro . Excel inneholder et program for programmering kalt Excel VBA , som kan brukes til å lage en rekke makroer - deler av koden for å gjøre et egendefinert jobb når tilkalt. Du trenger
Microsoft Excel
Vis flere instruksjoner
Programmere Makro
en
Åpne regnearket i Excel og åpne VBA editor ved å trykke Alt og F11-tasten på datamaskinen.
2
Start et nytt prosjekt ved å høyreklikke arbeidsboken på høyre meny og velge "Ny" alternativet.
3
Start nye funksjonen med "Sub DeleteDuplicateRows (). " Dette informerer VBA kompilator som det er en ny subrutine at det bør være klar over .
4
Lag variablene med følgende kode :
Dim Row Som LongDim Count Som LongDim sammenligne så VariantDim Range Som Range
p Dette forteller systemet til å fravike fire variabler ( Row, Count , sammenligning og Range ) til å bruke i koden. Du kan bruke hva variabelnavn være mer fornuftig for deg, men husk å endre dem i senere koden
5
Sett opp makroen med noen mer grunnleggende kode : .
On Error GoTo EndMacroApplication.ScreenUpdating = FalseApplication.Calculation = xlCalculationManual
Set Range = Application.Intersect ( ActiveSheet.UsedRange , _ActiveSheet.Columns ( ActiveCell.Column ) ) Application.StatusBar = " Processing Row :" & Format ( Rng.Row , "# , # # 0 ")
den første gruppen av koden forteller systemet til å kjøre makroen hvis den går inn i noen problemer . Den andre gruppen stiller inn variable i henhold til hva brukeren har valgt
6
Skriv inn følgende kode : .
Count = 0 ° C Row = Range.Rows.Count til to trinn - 1Hvis Row Mod 500 = 0 ThenApplication.StatusBar = " Processing Row :" & Format (R , "# , # # 0 ") End If
Sammenligne = Range.Cells ( Row, en ) . Verdi
p Dette forteller systemet til å gå gjennom hver av radene valgt av brukeren , og endre sammenligne variabelen til den raden hver gang den beveger seg på .
7
Input følgende kode neste : .
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 uttalelsene er de som faktisk forteller at systemet sammenligne sammenligne variabelen til den neste cellen og slette raden hvis de to er det samme .
8
Trykk enter for å sette inn et par nye linjer , og skriv så inn "Next Row " . Dette forteller systemet til å slutte å se på første rad , og gå til neste
9
Lukk ut funksjonen med : .
EndMacro : en
Application. Statuslinjekontrollen = FalseApplication.ScreenUpdating = TrueApplication.Calculation = xlCalculationAutomaticMsgBox " duplikatrader slettede :" & CStr ( N)
End Sub
Disse siste linjene forteller systemet hvordan å lukke subrutine ut, og også å vise en nyttig meldingsboks informere brukeren om at Makro faktisk gjorde hva det var ment å gjøre.
Bruke Makro
10
Lagre regnearket . Lagre et sekund, sikkerhetskopi før du bruker makro. Enten kopiere og lime inn filen i en backup -mappen , eller oss " Lagre som "-filen for å redde den andre kopien , må du lukke Excel og re- åpne den.
11
Klikk og dra markøren rundt den viktigste kolonnen av data . Dette er en som alle oppføringer bør forskjel- som i, om alt hadde blitt skrevet inn riktig , ville det ikke være noen doble oppføringer .
12
Åpne " Verktøy "-menyen og velg " ; makroer " Dette åpner makroer dialog , slik at du kan velge og kjøre makroen
13
Velg makro ; . hvis du brukte eksemplet ovenfor, vil det bli kalt " . DelDuplicateR " . ; Deretter trykker du " Kjør"-knappen . The Macro vil kjøre automatisk , og dukke opp en melding om at de duplikater har blitt slettet .