自动过滤器VBA帮助“错误1004”

时间:2017-02-20 17:58:41

标签: excel vba access

我正在尝试过滤列名称“Sales Level 1”,它包含许多销售级别,其中我只需要“美洲,全球服务提供商,WW分销”,该表格包含从A到Y的列以及总计43295条记录。

这是我的代码,它抛出错误1004“范围类的AutoFilter方法失败”

Dim objXLApp As Object    
Dim xlApp As Object

Set xlApp = CreateObject("Excel.Application")

xlApp.Activesheet.Range("$A1:$Y43295").AutoFilter Field:=16,_    
Criteria1:=Array("Americas", "GLOBAL SERVICE PROVIDER", "WW Distribution"),_
       Operator:=xlFilterValues

我在这个函数中有其他代码,这是其中之一。

1 个答案:

答案 0 :(得分:1)

我想这是因为" CreateObject"你启动一个新的excel实例,以便ActiveSheet是一个空的

如果您想要捕获正在运行的Excel实例,该实例已经具有正确的工作表作为"活动"一个

Dim objXLApp As Object    
Dim xlApp As Object

Set xlApp = GetObject(,"Excel.Application")

xlApp.Activesheet.Range("$A1:$Y43295").AutoFilter Field:=16, Criteria1:=Array("Americas", "GLOBAL SERVICE PROVIDER", "WW Distribution"), Operator:=xlFilterValues