我正在尝试过滤列名称“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
我在这个函数中有其他代码,这是其中之一。
答案 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