Excel VBA:如何在数据透视表中将空格显示为0?

时间:2016-02-19 12:34:05

标签: excel vba excel-vba

我正在创建一个宏,用于创建带有计数的数据透视表。我注意到,如果计数为零,则显示为空白。有没有办法以编程方式将其设为0?

这是我的代码:

With Worksheets("Working")

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="'" & rngData.Worksheet.Name & "'!" & rngData.Address(ReferenceStyle:=xlR1C1), _
        Version:=xlPivotTableVersion12).CreatePivotTable TableDestination:=ws.Range("A1"), _
        TableName:="HDPivotTable", DefaultVersion:=xlPivotTableVersion12
End With

ws.PivotTables("HDPivotTable").AddFields RowFields:="Row Label"

ws.PivotTables("HDPivotTable").PivotFields("h,d,x").Orientation = xlDataField

With ws.PivotTables("HDPivotTable").PivotFields("h,d,x")
    .Orientation = xlColumnField
    ws.PivotTables("HDPivotTable").PivotCache.MissingItemsLimit = xlMissingItemsNone
    ws.PivotTables("HDPivotTable").PivotCache.Refresh

    For i = 1 To .PivotItems.Count
        ' Filter out columns that are not "D" or "H"
        If .PivotItems(i) <> "D" And .PivotItems(i) <> "H" Then
            .PivotItems(i).Visible = False
        End If
    Next
End With

感谢。

1 个答案:

答案 0 :(得分:3)

您应该可以使用PivotTable.NullString

ws.PivotTables("HDPivotTable").NullString = "0"