Excel 2013macros按多个选定的值进行筛选

我想实现一个macros,它会执行以下操作:

如果我select属于同一列的一个或多个单元格并激活macros,则同一列中没有选定值之一的所有行都将被滤除。

即,如果macros在下表中被激活:

原始表

这将导致以下过滤表:

在这里输入图像说明

到目前为止,如果只select一个单元格,我可以设法实现一个工作正常的代码片段:

Range(ActiveCell.CurrentRegion.Address).AutoFilter Field:=ActiveCell.Column,Criteria1:=ActiveCell.Value 

有人可以帮助我扩展该代码,使其不仅限于一个选定的单元格吗?

任何帮助非常感谢!

尝试这个:

 Sub FilterMultipleCriteria() Dim filterRange As Range, filterValues() As Variant, cl As Range, i As Integer Set filterRange = Range("A1:C10") //Update the range as per your spreadsheet ReDim filterValues(Selection.Cells.Count - 1) i = 0 For Each cl In Selection filterValues(i) = cl.Text i = i + 1 Next cl filterRange.AutoFilter Field:=2, Criteria1:=filterValues, Operator:=xlFilterValues End Sub 

感谢您的答复。 基于你的文章,我可以拿出以下解决scheme似乎工作正常:

 Sub FilterMultipleCriteria() Dim filterValues() As Variant, cl As Range, i As Integer ReDim filterValues(Selection.Cells.Count - 1) i = 0 For Each cl In Selection filterValues(i) = cl.Text i = i + 1 Next cl Range(ActiveCell.CurrentRegion.Address).AutoFilter Field:=ActiveCell.Column, Criteria1:=filterValues, Operator:=xlFilterValues End Sub