0

我在 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将值分配给电子邮件时。将值分配给 Client 按预期工作。我也尝试过使用索引号,结果相同。

4

2 回答 2

0

这个问题原来是 VBA 无法处理重复的电子邮件地址。将其中一个电子邮件地址更改一个字符,它工作正常。

于 2013-09-04T13:37:12.027 回答
0

看起来您的每一行都没有电子邮件。您可能需要添加一个条件语句来处理这个问题。

于 2013-09-04T11:48:53.657 回答