mercoledì 26 luglio 2017

Excel VBA get range value from visible cells after applying autofilter

Nel caso che stiamo utilizzando il linguaggio di programmazione Visual Basic Application, in Excel, e dopo aver effettuato un filtro vogliamo scorrere i record nelle celle visibile, il frammento qui di seguito, illustra tale tecnica.

Dove dopo aver applicato il filtro effettua un ciclo nelle celle visibili.

'Applico il filtro dove nella prima colonna è presente il valore "Ema".
ActiveWorkbook.Sheets(1).Range("$A$1:$A$64000").AutoFilter Field:=1, Criteria1:="Ema"


'Rilevo l'area dei dati visibili
 Dim DatiVisibili
Set DatiVisibili = ActiveWorkbook.Sheets(1).AutoFilter.Range.SpecialCells(xlCellTypeVisible)

'ciclo per ogni riga

 Dim rangeRighe As Range
        For Each rangeRighe In ActiveWorkbook.Sheets(1).AutoFilter.Range.SpecialCells(xlCellTypeVisible)
            'per ogni colonna rilevo il valore
            testoTrovato = rangeRighe.Cells(, 1)
            testoTrovato = rangeRighe.Cells(, 2)
            '---altre colonne se
        Next rangeRighe

Nessun commento: