qq_40488951
2019-09-14 17:43
采纳率: 100%
浏览 1.6k

如何用VBA批量操作数据透视表

工作表中有很多透视表,希望能批量更改筛选日期
目前代码如下:

Sub 批量更改日期()
Dim pt As PivotTable
For Each pt In Sheet7.PivotTables
pt.PivotFields("日期").PivotFilters.Add2 Type:= _
xlDateBetween, Value1:=Sheet7.Range("f1").Value2, Value2:=Sheet7.Range("f2").Value2
Next
End Sub

运行时出错
图片说明图片说明

求大神指点一下,问题出在哪啊

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 豆豆技术派 2019-09-15 19:30
    已采纳

    1、检查你的Sheet7.Range("f1").Value2, 和 Sheet7.Range("f2").Value2 值格式是否正确?,必须要能转换成xlDateBetween匹配的格式。
    2、你xlDateBetween类型添加了几次?你代码里没有清除语句,重复添加会报错的。
    你先试试吧。

    已采纳该答案
    打赏 评论
  • threenewbee 2019-09-14 21:06

    分别调试下Sheet7.Range("f1").Value2 Sheet7.Range("f2").Value2 是不是没有值
    可以把这一行分开写,看具体哪里出错

    打赏 评论

相关推荐 更多相似问题