Board logo

標題: [發問] 使用條件自動篩選後範圍選取的問題! [打印本頁]

作者: yuch8663    時間: 2013-9-26 15:47     標題: 篩選的問題

請問下面這一段程式碼中只使用 收入 與 支出 兩個條件時可以正常運行,但增加第三項 轉帳 條件時(紅色字體部份)會出錯,是甚麼原因?該如何解決?[attach]16173[/attach]  
            Selection.AutoFilter Field:=2, Criteria1:=">=" & Sheets("篩選資料庫").Range("c1").Value, Operator:=xlAnd _
               , Criteria2:="<=" & Sheets("篩選資料庫").Range("g1").Value
            Selection.AutoFilter Field:=3, Criteria1:="=" & "收入", Operator:=xlOr, Criteria2:="=" & "支出" ', (Operator:=xlOr, Criteria3:="=" & "轉帳")
作者: stillfish00    時間: 2013-9-26 16:11

回復 1# yuch8663
原本就沒有該參數,當然會錯。
  1. Range.AutoFilter 方法

  2. 語法
  3. 運算式.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
  4. 運算式   會傳回 Range 物件的運算式。
複製代碼

作者: yuch8663    時間: 2013-9-26 16:48

剛爬過文章,原來2003版 AutoFilter 只能設2個條件,看來只能使用第二次篩選的方式,謝謝stillfish00 樓主回覆
作者: yuch8663    時間: 2013-9-26 19:16     標題: 使用條件自動篩選後範圍選取的問題!

請問 我在使用第二次自動篩選所選出來的資料,要複製資料區但不包含表頭標題程式碼執行到紅色字時會出現錯誤,應該要如何寫選取範圍才能將不連續的資料copy到另一個sheet裡?
.
.
.......
    '第二次篩選
            '篩選條件設為符合在兩個日期範圍之間及項目欄
            Sheets("分錄").Select
            '設定篩選條件範圍,按選擇條件進行自動篩選
            Selection.AutoFilter
            Selection.AutoFilter Field:=2, Criteria1:=">=" & Sheets("總分類帳").Range("g1").Value, Operator:=xlAnd _
               , Criteria2:="<=" & Sheets("總分類帳").Range("i1").Value
            Selection.AutoFilter Field:=3, Criteria1:="=" & "轉帳"
            'AutoFilter Field:=3係指篩選條件為第3欄分類項目
            Sheets("分錄").Range("A4").Select '
            Selection.Activate
             Range(ActiveCell.Offset(1, 0), [r65535].End(xlUp)).Select            
            Selection.Copy
......
.
.
[attach]16177[/attach]
作者: stillfish00    時間: 2013-9-27 15:25

本帖最後由 stillfish00 於 2013-9-27 15:36 編輯

回復 4# yuch8663
後四行改為
  1. With Sheets("分錄")
  2.     .Range(.[A4].Offset(1, 0), .[r65535].End(xlUp)).Copy
  3. End With
複製代碼
盡量少用select,且因為你code是放在"篩選資料庫"的工作表,有用到的話要特別注意你的 "Range"是屬於哪個Sheet
作者: GBKEE    時間: 2013-9-27 22:08

回復 4# yuch8663
試試看


[attach]16188[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)