xlPercentOfTotal正在计算总计的百分比(整个数据集而不是数据透视表中的总计)

时间:2019-05-20 14:31:03

标签: excel vba

问题:

使用.Calculation = xlPercentOfTotal尝试将数据透视表列中的单元格值显示为总计的百分比。

当前输出:

它是根据列中的整个数据集将所有内容计算为百分比(包括总计),而不仅仅是使用数据透视表中的总计。 (最后一行,总数为15)

Value    Desired Output
4            .2667%
1            .0667%
2            .1333%
4            .2667%
4            .2667%
15            1%

所需的输出:

所需结果应与手动在数据透视表中的列上单击鼠标右键,然后单击“将值显示为” ...“总计的百分比”。 (最后一行,总数为15)

Value    Desired Output
4            26.67%
1            6.67%
2            13.33%
4            26.67%
4            26.67%
15            100%

所需结果应与手动右键单击数据透视表中的列并“将值显示为” ...“总计的百分比”相同。

当前受影响的代码块:

With ActiveSheet.PivotTables("PivotTableName").PivotFields("ColumnName")
.Orientation = xlDataField
.Function = xlCount
.Calculation = xlPercentOfTotal
.NumberFormat = "General\%;-"
.Name = "ThisIsTheColumnName"
End With

我不确定是什么问题,我怀疑是我以前遇到的问题是由于格式化,但我有点迷茫。

编辑:

我想我可能已经发现了一个问题。

.NumberFormat = "General\%;-"

我想这要取百分比值,然后再将其除以除法或类似的方法给我一个百分比的百分比(即100%的100%为1%)。

之所以有它,是因为我本来希望所有NULL值都为'-'(连字符)。

注释该行会产生所需的结果,但随后消除了将NULL值捕获为'-'的能力。

With ActiveSheet.PivotTables("PivotTableName").PivotFields("ColumnName")
.Orientation = xlDataField
.Function = xlCount
.Calculation = xlPercentOfTotal
.NumberFormat = "General\%;-"
.Name = "ThisIsTheColumnName"
End With

0 个答案:

没有答案