【问题标题】:adding field to pivot table using VBA使用 VBA 将字段添加到数据透视表
【发布时间】:2014-03-17 04:31:20
【问题描述】:
ActiveSheet.PivotTables("PivotTable5").AddDataField ActiveSheet.PivotTables( _
    "PivotTable5").PivotFields(range("hidy!B" & pos).Value), "Sum of " & range("hidy!B" & pos).Value, xlSum

您好,我正在根据用户下拉控件从数据透视表中添加和删除字段。但在上面的代码中,我收到错误消息“无法获取数据透视表类的数据透视字段”。我对VBA excel很陌生,请帮我弄清楚

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    把你的代码改成这样:

    ActiveSheet.PivotTables("PivotTable5").AddDataField ActiveSheet.PivotTables( _
        "PivotTable5").PivotFields(Sheets("hidy").Range("B" & pos).Value), _
        "Sum of " & Sheets("hidy").Range("B" & pos).Value, xlSum
    

    问题是您从Sheet hidy 错误地引用单元格Bpos 的值。
    要进一步改进您的代码,请尝试将工作表传递给这样的变量:

    Dim ws1 As WorkSheet, ws2 As Worksheet
    
    Set ws1 = Thisworkbook.Sheets("Sheetwithpivot") 'change to your actual sheet
    Set ws2 = Thisworkbook.Sheets("hidy") 'sheet with dropdown
    
    ws1.PivotTables("PivotTable5").AddDataField ws1.PivotTables( _
        "PivotTable5").PivotFields(ws2.Range("B" & pos).Value), _
        "Sum of " & ws2.Range("B" & pos).Value, xlSum
    

    这样,您将避免Runtime errors

    【讨论】:

      猜你喜欢
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 2015-01-17
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多