问题:
使用.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