我正尝试同时将多个数据透视表中的筛选范围自动更改为所需的四周范围,而不是必须手动筛选所有范围。
周是由周数1-52定义的,而不是日期。我一直无法获得任何版本的代码来处理单个透视表,也没有尝试编写VBA来同时影响多个表。
透视表和4周范围设置示例
这是最后一次尝试。结果是
运行时错误“1004”:应用程序定义或对象定义的错误
突出显示最后一行代码。
Sub Updateweekrange1()
If Range("T2").Value = "" Then
MsgBox ("You Must First Enter a Beginning Week#.")
Exit Sub
End If
If Range("V2").Value = "" Then
MsgBox ("You Must First Enter a Ending Week#.")
Exit Sub
End If
With ActiveSheet.PivotTables("Test2").PivotFields("Week")
.ClearAllFilters
.PivotFilters.Add Type:=xlValueIsBetween, DataField:=ActiveSheet.PivotTables("Test2").PivotFields("Week"), Value1:=Range("T2").Value, Value2:=Range("V2").Value
End With
End Sub
1条答案
按热度按时间bweufnob1#
我测试了下面的,它为我工作.
我通过录制一个宏(通过最初隐藏的开发者选项卡)解决了这个问题,同时在Week列上设置了一个between过滤器,然后检查了生成的代码。
例如,将wsPivot设置为ActiveSheet或Sheets(“Sheet1”)可以允许我们的编码有更多的灵活性。所以有时候我只是想帮助别人,却表现得像是在教育别人。