使用它:
For Each pvtFld In Pvt.DataFields
If pvtFld.Name = "*Rate*" Then
pvtFld.NumberFormat = "0.00%"
Else: pvtFld.NumberFormat = "#,##0"
End If
Next pvtFld
因此,对于数据透视表中的每个字段,如果数据透视字段名称包含“Rate”,它将格式化为百分比,否则为数字。
代码正确运行,没有任何停止或错误,但结果表仍显示值作为数字格式。有什么建议吗?
由于
还尝试了:
For Each pvtFld In Pvt.DataFields
If pvtFld.Name = "*" & "Rate" & "*" Then
With pvtFld
.NumberFormat = "0.00%"
End With
Else:
With pvtFld
.NumberFormat = "#,##0"
End With
End If
Next pvtFld
这也会流畅地循环,但标题中“Rate”列中的数字格式不正确。
答案 0 :(得分:0)
看起来好像通过使用Like
命令,我能够让它识别字段以包含单词" Rate"
解决方案:
For Each pvtFld In Pvt.DataFields
If pvtFld.Name Like "*Rate*" Then
pvtFld.NumberFormat = "0.00%"
Else: pvtFld.NumberFormat = "#,##0"
End If
Next pvtFld