【问题标题】:VBA Updating Dates in Pivot Tables数据透视表中的 VBA 更新日期
【发布时间】:2019-09-18 19:08:25
【问题描述】:

我目前有一个包含原始数据的工作簿,该工作簿被转换为数据透视表进行分析。需要将此数据截断到特定的日期范围。我正在尝试半自动化更新,因为一些工作表被隐藏但不断收到错误


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 与 类型 我也尝试过硬编码 Value1 和 Value2 而不是输入变量

【问题讨论】:

  • 因为它是PivotFilters.Add 或.Add2 而ExtDue 是PivotField。
  • 成功了,谢谢!

标签: excel vba


【解决方案1】:

ExtDue 是一个PivotField。错误消息很简单:PivotField 没有 Add 或 Add2 方法。您正在寻找PivotFilters.Add 或类似的.Add2。

ExtDue.PivotFilters.Add2 Type:=xlDateBetween, Value1:=StartDate, Value2:=EndDate

【讨论】:

    猜你喜欢
    • 2014-06-16
    • 1970-01-01
    • 2023-01-10
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 2017-05-15
    • 1970-01-01
    相关资源
    最近更新 更多