首页 > 解决方案 > 使用 PivotItem 中的变量来识别 PivotField(运行时错误“1004”)

问题描述

我正在尝试使用一个变量,以便我可以识别一个范围内的最低和最高日期,并在用户输入数据并按年、月或季度过滤图表时相应地更改数据透视图。但是,在将字符串输入到 PivotItems 以识别 PivotField 时,我遇到了问题。当我尝试运行下面的代码时,出现运行时错误“1004”:“无法获取 PivotField 类的 pivotItems 属性”。

当我使用以下代码时出现问题:

Dim Lowest_Date As String
Lowest_Date = "<" & Range("C3").Value
Dim Highest_Date As String
Highest_Date = "<" & Range("D3").Value
ActiveSheet.ChartObjects("Chart 10").Activate
With ActiveChart.PivotLayout.PivotTable.PivotFields("Years")
    .PivotItems(Lowest_Date).Visible = False
    .PivotItems("2021").Visible = False
    .PivotItems(Highest_Date).Visible = False
End With

但是,当我运行将最低日期替换为原始格式的代码时,它可以完美运行:

ActiveSheet.ChartObjects("Chart 10").Activate
With ActiveChart.PivotLayout.PivotTable.PivotFields("Years")
    .PivotItems("<11/20/2020").Visible = False
    .PivotItems("2021").Visible = False
    .PivotItems(">3/25/2021").Visible = False
End With

有没有人对为什么这不起作用有任何建议?

标签: excelvbapivot-table

解决方案


推荐阅读