Skip to main content

Range.AdvancedFilter method

Filters or copies data from a list based on a criteria range. If the initial selection is a single cell, that cell's current region is used.


expression.AdvancedFilter (Action, CriteriaRange, CopyToRange, Unique)

expression A variable that represents a Range object.


Name Required/Optional Data type Description
Action Required XlFilterAction One of the constants of XlFilterAction specifying whether to make a copy or filter the list in place.
CriteriaRange Optional Variant The criteria range. If this argument is omitted, there are no criteria.
CopyToRange Optional Variant The destination range for the copied rows if Action is xlFilterCopy. Otherwise, this argument is ignored.
Unique Optional Variant True to filter unique records only. False to filter all records that meet the criteria. The default value is False.

Return value



This example filters a database named Database based on a criteria range named Criteria.

Range("Database").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("Criteria")

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>