Range.AdvancedFilter method (Excel)
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.
Syntax
expression.AdvancedFilter (Action, CriteriaRange, CopyToRange, Unique)
expression A variable that represents a Range object.
Parameters
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
Variant
Example
This example filters a database named Database based on a criteria range named Criteria.
Range("Database").AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=Range("Criteria")
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.