AutoFilter 对象 (Excel) |
您所在的位置:网站首页 › vba取消自动筛选状态功能设置方法是什么 › AutoFilter 对象 (Excel) |
AutoFilter 对象 (Excel)
项目04/07/2023
代表对指定工作表的自动筛选。 注意 When using AutoFilter with dates, the format should be consistent with English date separators ("/") instead of local settings ("."). A valid date would be "2/2/2007", whereas "2.2.2007" is invalid. 注意 例如,使用对象 (, Interior 对象) 需要添加对 对象的引用。 可以在 Set 语句中找到有关为变量或属性分配对象引用的详细信息。 示例使用 Worksheet 对象的 AutoFilter 属性可返回 AutoFilter 对象。 使用 Filters 属性可返回由各个列筛选组成的集合。 使用 Range 属性可返回代表整个筛选区域的 Range 对象。 以下示例存储当前筛选的地址和筛选条件,然后应用新筛选器。 Dim w As Worksheet Dim filterArray() Dim currentFiltRange As String Sub ChangeFilters() Set w = Worksheets("Crew") With w.AutoFilter currentFiltRange = .Range.Address With .Filters ReDim filterArray(1 To .Count, 1 To 3) For f = 1 To .Count With .Item(f) If .On Then filterArray(f, 1) = .Criteria1 If .Operator Then filterArray(f, 2) = .Operator filterArray(f, 3) = .Criteria2 End If End If End With Next End With End With w.AutoFilterMode = False w.Range("A1").AutoFilter field:=1, Criteria1:="S" End Sub若要为工作表创建 AutoFilter 对象,必须手动或使用 Range 对象的 AutoFilter 方法为工作表上的某个区域启用自动筛选。 下例使用存储在上例模块级变量中的值来为 Crew 工作表恢复最初的自动筛选。 Sub RestoreFilters() Set w = Worksheets("Crew") w.AutoFilterMode = False For col = 1 To UBound(filterArray(), 1) If Not IsEmpty(filterArray(col, 1)) Then If filterArray(col, 2) Then w.Range(currentFiltRange).AutoFilter field:=col, _ Criteria1:=filterArray(col, 1), _ Operator:=filterArray(col, 2), _ Criteria2:=filterArray(col, 3) Else w.Range(currentFiltRange).AutoFilter field:=col, _ Criteria1:=filterArray(col, 1) End If End If Next End Sub 方法 ApplyFilter ShowAllData 属性 应用程序 Creator FilterMode Filters Parent Range Sort 另请参阅 Excel 对象模型引用 支持和反馈有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |