我正在使用vba代码在excel表中创建一个数据透视表。 我希望使用符号E,加号/减号和2位小数将数据库中的值格式化为科学。例如:2.28E-10,1.1E-09,25E-3。
如何引用数据透视表中的单元格? 或者我在数据源中引用它们?
(我的代码从sheet1获取数据并创建另一个名为pivot的工作表, 然后创建轴)
到目前为止:
Set rng = Range("b7:q9") '
For Each cell In rng
.Orientation = xlDataField
.Position = 1
.Function = xlAverage
cell.NumberFormat = "#,##0" & "E-3"
Next cell
它无法正常工作。
或者也许是这个:
Dim pvt As PivotTable
Dim pff As PivotField
Dim pi As PivotItem
With pff
For Each pi In pff.PivotItems
pi.DataRange.NumberFormat = " 0.00#" & "E-3"
'pvt.DataBodyRange.NumberFormat = "0.00#"
Next pi
End With
请建议如何使用vba执行此操作。
非常感谢任何帮助!
答案 0 :(得分:1)
如果您要格式化PivotTable
内的所有值(我希望我明白您的意图),那么您需要使用{{1}引用PivotTable
中的值}。
尝试以下代码:
pvt.DataBodyRange
编辑1 :按单元格遍历数据透视表的pvt.DataBodyRange.NumberFormat = " 0.00#" & "E-3"
单元格:
DataBodyRange