Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA宏-范围类的AdvancedFilter方法失败_Vba_Excel - Fatal编程技术网

VBA宏-范围类的AdvancedFilter方法失败

VBA宏-范围类的AdvancedFilter方法失败,vba,excel,Vba,Excel,我在VBA Excel中有这样的代码: Sub MySub() Dim sheet Application.EnableEvents = False Application.ScreenUpdating = False 'get current sheet name sheet = ActiveSheet.Name 'I have criteria range in hidden sheet Set cRng = Sheets("Hi

我在VBA Excel中有这样的代码:

Sub MySub()
Dim sheet

Application.EnableEvents = False
Application.ScreenUpdating = False

'get current sheet name
sheet = ActiveSheet.Name                            

'I have criteria range in hidden sheet
Set cRng = Sheets("Hide_sheet.").Range("A14:O15")   
With Sheets("MySheet").Range("A44:O144")
    .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= cRng, _
     Unique:=False      'in these 2 lines is this error
End With

Application.EnableEvents = True
Application.ScreenUpdating = True

Sheets(sheet).Select 'return to the sheet where I was

End Sub
我得到了这样的错误:
运行时错误“1004”:
范围类的AdvancedFilter方法失败

我想用这个宏做什么?
我想隐藏所有行,其中第一列中有零值。在条件范围中,我在相应列中有“0”

我也使用透视表-我有一次1行,另一次超过100行。这就是为什么我用另一张纸来显示这些行。在我的表中,所有100行都充满了引用隐藏表中100行的公式。若Hide_工作表中的某一行为空,则在MySheet中,相应行的值为零值。所以我总是有100行的值,只是这些值在变化

当我在透视表中更改过滤器时,宏开始:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

Call MySub

End Sub
我一直在网上搜索,但我还没有找到解决问题的办法。也许你会帮助我

==
新信息:

有时此宏有效,有时无效。。。当我遇到此错误,单击“调试宏”,然后停止调试,更改透视表中的筛选器,然后我可以运行宏而不出现任何错误。

我也在寻找类似问题的解决方案,发现如果在透视表区域内选择活动单元格运行代码,高级筛选器代码将无法工作。只需在advancedFilter命令之前添加一些行来选择pivot之外的任何单元格,它就可以工作了

。。。它对我有用。我想我们需要更多的细节,如标题等。你确定你的MySheet范围A44:A55中至少有2行吗?通常,如果你试图添加一个过滤器(超出范围),这种类型的错误就会出现,实际上如果你没有范围A44:A144内的数据。检查…是的,我有表格标题和一些行。查看我的问题更新。我真的不明白。有时有效,有时无效。。。当我遇到这个错误并且正在调试宏时,它就工作了,同时我将更改透视表中的过滤器,然后再次运行宏。