ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1260|回复: 6

[求助] 自动筛选,为什么前2种写法可以,第3种不行?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-10-1 12:45 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
gfdg43.gif 2.rar (14.57 KB, 下载次数: 7)



Sub test()
    Dim x As Date
    x = #10/1/2019#
    ActiveSheet.AutoFilterMode = False

'    Range("a1").CurrentRegion.AutoFilter Field:=1, Operator:=xlFilterValues, Criteria1:=Array(1, x)
'    Range("a1").CurrentRegion.AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(2, x)
'    Range("a1").CurrentRegion.AutoFilter Field:=1, Criteria1:=x
End Sub



请问如题?谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-1 20:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
dfgdfg356.gif
3.rar (16.68 KB, 下载次数: 1)



Sub test()
    Dim i
    For i = 0 To 6
        ActiveSheet.AutoFilterMode = False
        Range("a1").CurrentRegion.AutoFilter field:=2, Criteria2:=Array(i, Date), Operator:=xlFilterValues
        Stop
    Next i
    '0所有
    '1本月
    '2到5筛选ok
    '<0或>5,提示"类 Range 的 AutoFilter 方法无效"
End Sub



不知道为什么

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-1 21:05 | 显示全部楼层
如果2楼的Criteria2改成Criteria1,那么Array(i, Date)的 i 好像其它整数也可筛选

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-5 21:26 | 显示全部楼层
                                                            。                                                           

TA的精华主题

TA的得分主题

发表于 2019-10-7 14:52 | 显示全部楼层
爱疯 发表于 2019-10-5 21:26
。                                       ...

Range("a1").CurrentRegion.AutoFilter Field:=1, Criteria1:="=" & x

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-7 18:29 来自手机 | 显示全部楼层
yaozong 发表于 2019-10-7 14:52
Range("a1").CurrentRegion.AutoFilter Field:=1, Criteria1:="=" & x

谢谢zaoyong
比如,新建一个空白工作簿,只有A列日期。
当进行自动筛选时,录制宏里,参数criteria 的值是array的形式,对此的相关说明,想学习了解一下。谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-7 19:20 | 显示全部楼层
yaozong 发表于 2019-10-7 14:52
Range("a1").CurrentRegion.AutoFilter Field:=1, Criteria1:="=" & x

gfdg45.gif
4.rar (11.5 KB, 下载次数: 2)






Sub 宏1()
'
' 宏1 宏
'

'
    Range("A12").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$A$28").AutoFilter Field:=1, Operator:= _
        xlFilterValues, Criteria2:=Array(2, "10/9/2019")
End Sub




就像这样,录制宏默认是
1)为什么用 Criteria2 ,而不是我预想的 Criteria1
2)为什么Criteria2的值的表达形式是 array()
3)其中第1个元素2,表示什么?

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-24 13:03 , Processed in 0.051699 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表