2015-10-23 44 views
1

我想爲一個工作簿中的多個工作表自動化AdvancedFilter。但是,我遇到Type Mismatch,我無法找到需要更改的內容,因爲逐步加亮顯示了整個代碼塊。顯示的錯誤是:類型不匹配錯誤使用'AdvanceFilter'

運行時錯誤 '13':類型不匹配

代碼:

Private Sub CommandButton1_Click() 

    For Each ws In Array(Worksheets("test"), Worksheets("test1"), Worksheets("test2"), Worksheets("test3"), Worksheets("test4")) 
     ws.Activate 
     Sheets("Main").Range("A:J").AdvanceFilter Action:=xlFilterCopy, _ 
      CriteriaRange:=Sheets(ws).Range("A1:A2"), CopyToRange:=Sheets(ws).Range("A3"), Unique:=False 
    Next 

End Sub 
+0

難道你嘗試在循環之前添加Dim ws As Worksheet? – Yaegz

+0

不需要for循環創建它。但是當我做'昏暗的ws作爲工作表'它會拋出'運行時424對象需要' – Mukul215

+0

標準是在每張表上定義?它看起來像你的標準包含在你正在過濾的範圍內 – datatoo

回答

1

這個替換您AdvancedFilter行:

Sheets("Main").Range("A:J").AdvancedFilter xlFilterCopy, ws.Range("A1:A2"), ws.Range("A3") 
+0

謝謝你的工作! – Mukul215