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.