excel - 数据透视表中的 VBA 更新日期
问题描述
我目前有一个包含原始数据的工作簿,该工作簿被转换为数据透视表进行分析。需要将此数据截断到特定的日期范围。我正在尝试半自动化更新,因为某些工作表被隐藏但不断出现错误
Dim PVTCombo As Worksheet, PVTFull As Worksheet, PVTOnly As Worksheet
Dim ExtDue As PivotField, Table1 As PivotTable
Dim StartDate As String, EndDate As String
Set PVTCombo = ThisWorkbook.Sheets("PVT - Combined")
Set Table1 = PVTCombo.PivotTables("PivotTable1")
Set ExtDue = Table1.PivotFields("External Due")
StartDate = InputBox("Please input start date mm/dd/yyyy", "Start Date")
EndDate = InputBox("Please input end date mm/dd/yyyy", "End Date")
ExtDue.ClearAllFilters
ExtDue.Add2 Type:=xlDateBetween, Value1:=StartDate, Value2:=EndDate
ThisWorkbook.RefreshAll
Calculate
我收到第 10 行的以下错误“对象不支持此属性或方法”
我尝试过.Add、.Add2和使用FilterType vs Type 我也尝试过硬编码 Value1 和 Value2 而不是输入变量
解决方案
ExtDue
是一个PivotField
。错误消息很简单:没有Add
或Add2
方法 a PivotField
。您正在寻找PivotFilters.Add
或类似的.Add2
.
ExtDue.PivotFilters.Add2 Type:=xlDateBetween, Value1:=StartDate, Value2:=EndDate
推荐阅读
- java - 截断表表最优解
- reactjs - 在嵌套的放置目标中放置一个组件会给出错误
- python - 使用 lambda 计算 pandas 数据框中的值
- raspberry-pi - 无法找到包 ros-kinetic-depthimage-to-laserscan(在 Raspberry Pi 上)
- css - 带列的水平布局:如何在列大小固定且列数未知的情况下自动调整容器大小
- google-app-engine - 从 Golang AppEngine 快速轻松地发布到 Slack Webhook
- google-sheets - 将一个单元格链接到多个单元格排除 Google 表格中的中间范围
- php - 无法获取 coingecko API 的信息
- admob - 如何通过代码从 aerserv 关闭全屏横幅广告?
- php - \n 用文本打断显示,如何显示换行符而不是 \n 文本