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 funzionalità Filtro automatico di Excel. Funziona particolarmente bene se hai 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, è possibile selezionarle e utilizzare i menu per eliminare le 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.

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 (2386) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: