Når et Excel-regneark vokser omfatte tusinder eller endda hundredtusindvis af rækker , manuelt at fjerne hver enkelt række ville tage for evigt. Mens en hurtig sortering ville simpelthen flytte hver tom række til bunden , hovedsagelig " slette " det, vil dette ikke fungere, hvis du har brug for de data, til at bo i sin nuværende orden. For at fjerne tomme rækker uden at ændre rækkefølgen af et regneark , bliver du nødt til at få adgang til Excel Visual Basic konsol og oprette en makro . Instruktioner
1
Åbn Excel-regneark , som du har brug ønsker at arbejde med . Tryk derefter på " Alt" og " F11 " for at åbne op for Visual Basic -konsollen.
2
Højreklik på nogen af posterne under " VBAProject " på den venstre side af VBA -konsollen. Bevæg musen over "Indsæt" og vælg " Modul " fra listen over valgmuligheder. Din nye modul vil automatisk blive valgt, og den højre halvdel af konsollen vil blive en tom hvid side . Hvis du har flere regneark åbne, skal du sørge for , at du er ved at tilføje modulet til den korrekte " VBAProject ". Navnet på den specifikke dokument vil blive placeret til højre for " VBAProject " overskrift
3
Kopier følgende kode til toppen af den tomme modul side: .
< P > Sub DeleteBlankRows ()
Dim x As Long
Med Application
. Beregning = xlCalculationManual
. ScreenUpdating = False
End med
"Sub " kommando skaber makro og " Dim " kommando etablerer en variabel , du vil bruge senere. Den " Calculation " og " ScreenUpdating " kommandoer slukke deres respektive funktioner , hvilket gør makroen køre problemfrit på store regneark
4
Indsæt følgende kode direkte under det sidste sæt : .
med ActiveSheet
Cells.Replace _
Hvad: = "" , erstatning: = "" , _
lookat : = xlWhole , MatchCase : = False
< p> For x = . Cells.SpecialCells ( xlCellTypeLastCell ) . Række _
1 Trin -1
p Hvis WorksheetFunction.CountA ( . Rækker ( x)) = 0 Then
< p> ActiveSheet.Rows (x). Slet
End If
Næste
End With
" Cells.Replace " kommando, som omfatter to linjer direkte under det ser for eventuelle celler, der blot indeholder et mellemrum , og erstatter den plads med ingenting. Sletningen genkender ikke et tomt rum som en tom celle , så uden dette stykke kode , ville enhver rækken med blot en tom plads ikke få slettet. "For " kommando har koden start i sidste celle på arket og arbejde sig tilbage op til toppen . Den " Hvis " erklæring kontrollerer, om rækken er tom, og derefter sletter det, hvis det er
5
Kopier og indsæt følgende kode direkte under sidste stykke kode : .
< p> Med Application
. Beregning = xlCalculationAutomatic
. ScreenUpdating = Sand
End With
End Sub
Denne kode blot sætter de " Calculation " og " ScreenUpdating " indstillinger tilbage til normal , og derefter lukker koden ud med " End sub ". Tryk på " Alt" og " F11 " for at forlade VBA konsollen. Alle dine ændringer bliver automatisk gemt.
6
Klik på " Udvikler "-fanen øverst på skærmen . Klik på " Macro " knappen for at bringe en liste over dine makroer. Vælg " DeleteBlankRows " makro og trykke på " Kør". Makroen vil slette alle tomme rækker fra regnearket.