Fase 1: Fare un aiutante colonna nella tabella in cui si controlla eventuali campi vuoti in quella riga. Ad esempio, se nella tabella sono presenti 3 colonne: A (Prezzo), B (Quantità) e C (Costo), è necessario aggiungere una quarta colonna D e etichettarla "Qualsiasi spazio vuoto?". L'equazione sarebbe =IF(OR(ISBLANK([@Price]),ISBLANK([@Quantity]),ISBLANK([@Cost])),"Yes","No")
Ciò fornirebbe una colonna da filtrare per visualizzare tutti gli spazi vuoti.
Fase 2: In VBA si dovrebbe quindi effettuare le seguenti operazioni:
Range("MyTableNameHere").AutoFilter Field:=Range("MyTableNameHere[Any Blanks?]").Column, Criteria1:="Yes"
Application.DisplayAlerts = False
Range("MyTableNameHere").ListObject.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
Range("MyTableNameHere").AutoFilter Field:=Range("MyTableNameHere[Any Blanks?]").Column
Questo in sostanza sta filtrando le righe che si desidera eliminare nella tabella utilizzando la colonna di supporto, selezionando tutti i dati visibili nella tabella e unfiltering il tavolo. Stavo cercando in giro come eliminare tutte le righe visibili in una tabella e ho trovato questo e ho giocato in giro fino a quando ho capito che questo avrebbe funzionato. Prenderlo e combinarlo con una colonna helper per selezionare tutte le righe con spazi vuoti sembra proprio quello che volevi.
fonte
2015-05-01 17:57:43
Questa è la soluzione giusta per le tabelle, ma si dovrebbe aggiungere di controllo degli errori (come da risposta di Brettdj) nel caso in cui nessun righe vuote si trovano –
ok Ho modificato la risposta e l'errore aggiunto controllo – fthiella
Questo ha funzionato perfettamente. Grazie. – user91240192094