使用范围或数组更改数据透视表的数据字段的数字格式

我有一个数据透视表,我想创建一个宏,允许用户键入所需的数字格式作为PivotFields列表。然后,宏将读取此“ PivotField数字格式范围”,并将现有的数字格式更改为用户为用户指定了数字格式的每个数据透视字段输入的用户数字格式。

下面的代码创建一个新的工作表,该工作表列出了每个PivotField和每个现有的数字格式。它的第三列为空白,称为NewFormat,用户可以在其中输入所需的数字格式。

Public Sub CreatePivotFormatterTab()

    Set pt = Sheets("Workings").PivotTables(1)
    Set newSheet = Sheets.Add

    newSheet.Name = "PivotFormatter"

    newSheet.Cells(1,1).Value = "Header"
    newSheet.Cells(1,2) = "Format"
    newSheet.Cells(1,3) = "NewFormat"

    i = 1

    For Each pf In pt.PivotFields

        On Error Resume Next
        i = i + 1
        newSheet.Cells(i,1).Value = pf.Name
        newSheet.Cells(i,2).Value = pf.NumberFormat

        Next

End Sub

用户输入要更改的特定NumberFormats后,如何获取数据透视表以读取用户输入并相应地更改NumberFormat(如果未提供用户输入,则默认为现有NumberFormat)?

我考虑过从PivotFormatter选项卡创建数组:

Public Sub CreatePivotFormatArray()
    'Create Range
    Set Headers = Range("A1:C1")
    Set PFR = _
    Range(Headers.Offset(1),Headers.Offset(1).End(xlDown))
    'Read the Range into an Array
     PFA = PFR.Value
End Sub

但是我不知道如何将每个数据透视字段的NumberFormats更改为用户输入的数字格式。

wjt19871002 回答:使用范围或数组更改数据透视表的数据字段的数字格式

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3150627.html

大家都在问