[算表] VBA以其他活頁簿儲存格為篩選條件

看板Office作者 (coup de foudre)時間8年前 (2017/12/15 21:13), 8年前編輯推噓0(004)
留言4則, 1人參與, 8年前最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1513343618.A.E1D.html

12/15 22:03, 8年前 , 1F
什麼錯誤訊息。陣列索引超出範圍的話,表示b.xlsm未開啟
12/15 22:03, 1F
您好,錯誤訊息經您提示已經排除了,但是篩選不出結果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

12/15 23:25, 8年前 , 2F
以format來修改,看應用於原po實際檔案內,是否可篩選出
12/15 23:25, 2F

12/15 23:38, 8年前 , 3F
測試以回文方式應是可行https://i.imgur.com/45NrqDI.png
12/15 23:38, 3F
感謝提點,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

12/15 23:51, 8年前 , 4F
如as range要以set來指定範圍到變數
12/15 23:51, 4F
文章代碼(AID): #1QCyg2uT (Office)
文章代碼(AID): #1QCyg2uT (Office)