Eliminazione condizionale di righe (Microsoft Excel)
Quando lavori con tabelle di dati contenenti informazioni che hai ricevuto da un’altra persona, potresti voler ridurre la quantità di dati nella tabella eliminando righe se viene soddisfatta una particolare condizione. Esistono diversi modi per affrontare un compito del genere.
Il primo metodo consiste nell’usare la funzione Filtro automatico di Excel. Funziona particolarmente bene se si dispone di un criterio piuttosto semplice con cui eliminare le righe. Quando si attiva il filtro automatico, Excel inserisce i pulsanti a discesa sul lato destro di ogni cella nella riga di intestazione della tabella dati.
Utilizzando questi pulsanti a discesa è possibile specificare i record che si desidera visualizzare. È necessario selezionare un valore di filtro che comporterà la visualizzazione solo delle righe che si desidera eliminare. Con quelle righe visualizzate, puoi selezionarle e utilizzare gli strumenti della barra multifunzione per sbarazzarti delle righe. Quando disattivi il filtro automatico, ti rimangono solo le righe che desideri.
Un altro metodo prevede l’uso di macro per eseguire l’eliminazione per te.
Questo approccio funziona bene se devi eseguire le eliminazioni su molti dati o se lo fai abbastanza spesso. La seguente macro può eliminare righe in base a un valore chiave:
Sub DeleteRows() Dim strToDelete As String Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer Dim DeletedRows As Integer strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows") Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = strToDelete Then Rows(J).Select Selection.Delete Shift:=xlUp DeletedRows = DeletedRows + 1 End If Next J MsgBox "Number of deleted rows: " & DeletedRows End Sub
Per utilizzare la macro, seleziona l’intervallo dell’intervallo di chiavi che copre le righe che desideri controllare. Ad esempio, se la chiave da controllare si trova nella colonna G e si desidera controllare le righe da 5 a 73, selezionare l’intervallo G5: G73. Quando esegui la macro, ti chiede quale valore dovrebbe controllare. Se una qualsiasi cella nell’intervallo G5: G73 contiene il valore specificato, la riga corrispondente per quella cella verrà eliminata.
Ci sono ovviamente altri modi per eliminare le righe in base a un valore. Per una buona selezione di metodi diversi, dai un’occhiata a questa pagina di Dave Hawley su Ozgrid:
http://www.ozgrid.com/VBA/VBACode.htm
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (12256) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.
Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: