我在Excel中有一个如下所示的数据透视表:
Account e-mail Sum of Price Sum of Billing Price
Customer Z blah@gmail.com 30 33.75
Customer Z Total 30 33.75
Customer Y blah@gmail.com 10 10.5
Customer Y Total 10 10.5
Grand Total 40 44.25
我有以下VBA代码:
For j = 2 To pt.RowFields(1).PivotItems.Count
Sheets("Configuration").Range("j2").Value = Sheets("Configuration").Range("j2").Value + 1
Client = pt.RowFields("Account").PivotItems(j)
sum = pt.GetPivotData("Sum Of Billing Price", "Account", Client)
net = pt.GetPivotData("Sum Of Price", "Account", Client)
email = pt.RowFields("e-mail").PivotItems(j)
...
当我运行代码时,在将值分配给电子邮件时收到错误:Unable To Get PivotItems Property Of PivotField Class
。将值分配给客户端按预期工作。我也尝试使用索引号,结果相同。
答案 0 :(得分:0)
看起来你并不是每一行都有电子邮件。您可能希望在条件语句中处理此问题。
答案 1 :(得分:0)
此问题原来是VBA无法处理重复的电子邮件地址。用一个字符更改其中一个电子邮件地址,它可以正常工作。