基于标题的数据透视表编号格式

时间:2015-02-23 17:25:12

标签: vba excel-vba excel

使用它:

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”列中的数字格式不正确。

1 个答案:

答案 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