Use one of the following functions to work with filters:
- _Excel_FilterGet: Returns a list of set filters
- _Excel_FilterSet: Sets/unsets filter definitions and filters the range
Retrieve all filtered rows
To retrieve all rows of a filtered range you need to work with Areas. An Area consists of one or multiple Ranges which you need to process in a loop. The following example returns an array with all visible rows.
$oRange = $oWorkbook.ActiveSheet.Usedrange.SpecialCells($xlCellTypeVisible) Local $aResult[$oRange.columns.Count], $aContent ; Read the data of all Ranges in the Area and concatenate the returned arrays. For $oArea In $oRange.Areas $aContent = _Excel_RangeRead($oWorkbook, Default, $oArea, Default, True) _ArrayConcatenate($aResult, $aContent) Next