Excel Filter: Difference between revisions

From AutoIt Wiki
Jump to navigation Jump to search
(Created page with "== Set filer == ... == 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 yo...")
 
Line 3: Line 3:


== Retrieve all filtered rows ==
== 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  aloop. The following example returns an array with all visible 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.
<syntaxhighlight lang="autoit">
<syntaxhighlight lang="autoit">
$oRange = $oWorkbook.ActiveSheet.Usedrange.SpecialCells($xlCellTypeVisible)
$oRange = $oWorkbook.ActiveSheet.Usedrange.SpecialCells($xlCellTypeVisible)

Revision as of 14:02, 3 December 2015

Set filer

...

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[1][$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