Come usare "if" in Excel per eliminare le righe vuote

February 25

Quando un foglio di calcolo Excel cresce fino a comprendere migliaia o addirittura centinaia di migliaia, di righe, rimuovere manualmente ogni singola riga avrebbe preso per sempre. Mentre una rapida sorta sarebbe semplicemente spostare ogni riga vuota in fondo, in sostanza, "eliminazione", questo non funzionerà se si utilizzano i dati per rimanere nel suo ordine corrente. Per rimuovere le righe vuote senza cambiare l'ordine di un foglio di lavoro, è necessario accedere alla console di Visual Basic di Excel e creare una macro.

istruzione

1 Aprire il foglio di calcolo Excel che è necessario desidera lavorare. Poi premere il tasto "Alt" e "F11" per aprire la console di Visual Basic.

2 Fai clic destro su una delle voci sotto il "VBAProject" voce sul lato sinistro della console VBA. Muovi il mouse sopra "Inserisci" e scegliere "modulo" dalla lista di opzioni. Il tuo nuovo modulo verrà selezionata automaticamente, e la metà destra della console diventerà una pagina bianca vuota. Se si dispone di più fogli di lavoro aperti, essere sicuri che si sta aggiungendo il modulo al corretto "VBAProject". Il nome del documento specifico sarà situato alla destra della voce "VBAProject".

3 Copiare il seguente codice nella parte superiore della pagina del modulo in bianco:

DeleteBlankRows sub ()

Dim x As Long

con Application

.Calculation = XlCalculationManual

.ScreenUpdating = False

End With

Il comando "Sub" crea la macro e la "Dim" comando stabilisce una variabile che si intende utilizzare in seguito. I comandi "ScreenUpdating" "Calcolo" e spegnere le rispettive funzioni, rendendo la corsa macro senza problemi su grandi fogli di calcolo.

4 Incollare il seguente codice direttamente sotto l'ultima serie:

con ActiveSheet

Cells.Replace _

Cosa: = "", di sostituzione: = "", _

LookAt: = xlWhole, matchcase: = FALSE

Per x = .Cells.SpecialCells (xlCellTypeLastCell) .row _

Per 1 Fase -1

Se WorksheetFunction.CountA (.Rows (x)) = 0 Then

ActiveSheet.Rows (x) .Delete

Finisci se

Il prossimo

End With

Il comando "Cells.Replace", che comprende le due linee direttamente sotto di essa, cerca eventuali cellule che appena includono uno spazio vuoto, e sostituisce quello spazio con niente. Il processo di cancellazione non riconosce uno spazio vuoto come una cella vuota, quindi senza questo pezzo di codice, ogni fila con solo uno spazio vuoto non si sarebbe cancellato. Il "Per" comando ha l'inizio codice in ultima cella sul foglio e lavorare la via del ritorno fino alla cima. Il "se" controlli istruzione per vedere se la riga è vuota, e poi lo cancella se lo è.

5 Copiare e incollare il seguente codice direttamente sotto l'ultimo pezzo di codice:

con Application

.Calculation = XlCalculationAutomatic

.ScreenUpdating = True

End With

End Sub

Questo codice mette semplicemente il "Calcolo" e impostazioni "ScreenUpdating" torna alla normalità e poi chiude il codice con "End Sub". Premere il tasto "Alt" e "F11" per uscire dalla console VBA. Tutte le modifiche vengono salvate automaticamente.

6 Fare clic sulla scheda "Sviluppatore" nella parte superiore dello schermo. Fare clic sul pulsante "Macro" per far apparire un elenco delle macro. Selezionare la macro "DeleteBlankRows" e premere il tasto "Esegui". La macro cancellerà tutte le righe vuote dal foglio di lavoro.