作者jumbotest (coup de foudre)
看板Office
标题[算表] VBA以其他活页簿储存格为筛选条件
时间Fri Dec 15 21:13:36 2017
软体:EXCEL
版本:20XX
我想筛选A档案的13列C栏,
条件为B档案工作表4的储存格B5或B6,
试写如下:
Sub 巨集()
Rows("13:13").Select
Selection.AutoFilter
ActiveSheet.Range("$A$13:$L$116").AutoFilter Field:=3, Criteria1:= _
Workbooks("B.xlsm").Sheets("工作表4").Range("b5"),
Operator:=xlOr, Criteria2:=Workbooks("B.xlsm").Sheets("工作表4").Range
("b6")
End Sub
不过出现错误讯息QQ
请问语法该怎麽写才正确呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.177.212
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1513343618.A.E1D.html
1F:→ soyoso: 什麽错误讯息。阵列索引超出范围的话,表示b.xlsm未开启 12/15 22:03
您好,错误讯息经您提示已经排除了,但是筛选不出结果QQ
我的B.xlsm的工作表4的b6如图1
https://imgur.com/a/FVlre
(本例中筛选条件为b6"106/12/19"以及不重要的b5)
巨集执行前的档案画面如图2
https://imgur.com/a/ePHXO
(13列C栏包含"106/12/19"储存格)
巨集执行结果如图3
https://imgur.com/a/KoCbt
(106/12/19并未被筛选出)
※ 编辑: jumbotest (1.163.177.212), 12/15/2017 23:16:52
=============================================================
更新:我好像找到关键了!
筛选条件的格式是eee/mm/dd
巨集以为是mm/dd/yyyy ...............
https://imgur.com/a/YAkee
请问要怎麽修正呢?
※ 编辑: jumbotest (1.163.177.212), 12/15/2017 23:21:53
2F:→ soyoso: 以format来修改,看应用於原po实际档案内,是否可筛选出 12/15 23:25
感谢提点,GOOGLE FORMAT之後弄出来惹
https://imgur.com/a/WVmWh
不过有两个小问题
1.为了让画面简洁,我用dim r as写在前面却出现缺少with变数错误讯息?
2.format eee/dd/mm会错,改成ee/dd/mm或e/dd/mm就可以了,原因不明 @@
※ 编辑: jumbotest (1.163.177.212), 12/15/2017 23:44:27
4F:→ soyoso: 如as range要以set来指定范围到变数 12/15 23:51