将数据透视表字段放入xlPercentOfTotal

时间:2020-09-22 14:39:16

标签: excel vba pivot-table

问题是我的VBA脚本在创建和放入数据透视表时出错。 这是错误:

enter image description here

verify_credentials

我想要得到的最终结果是:

enter image description here

每次,突出显示的行是 Cells.Select Sheets("Impacts").Select Workbooks("Impacts_historic.xlsx").Connections.Add2 _ "WorksheetConnection_Impacts!$A:$S", "", _ "WORKSHEET;" & ActiveWorkbook.Path & "\[Impacts_historic.xlsx]Impacts" _ , "Impacts!$A:$S", 7, True, False ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _ ActiveWorkbook.Connections("WorksheetConnection_Impacts!$A:$S"), Version:=6). _ CreatePivotTable TableDestination:="WagonsPays!R1C1", TableName:= _ "Tableau croisé dynamique", DefaultVersion:=6 Sheets("WagonsPays").Select Cells(1, 1).Select With ActiveSheet.PivotTables("Tableau croisé dynamique") .ColumnGrand = True .HasAutoFormat = True .DisplayErrorString = False .DisplayNullString = True .EnableDrilldown = True .ErrorString = "" .MergeLabels = False .NullString = "" .PageFieldOrder = 2 .PageFieldWrapCount = 0 .PreserveFormatting = True .RowGrand = True .PrintTitles = False .RepeatItemsOnEachPrintedPage = True .TotalsAnnotation = True .CompactRowIndent = 1 .VisualTotals = False .InGridDropZones = False .DisplayFieldCaptions = True .DisplayMemberPropertyTooltips = True .DisplayContextTooltips = True .ShowDrillIndicators = True .PrintDrillIndicators = False .DisplayEmptyRow = False .DisplayEmptyColumn = False .AllowMultipleFilters = False .SortUsingCustomLists = True .DisplayImmediateItems = True .ViewCalculatedMembers = True .FieldListSortAscending = False .ShowValuesRow = False .CalculatedMembersInFilters = True .RowAxisLayout xlCompactRow End With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotCache. _ RefreshOnFileOpen = False ActiveSheet.PivotTables("Tableau croisé dynamique").RepeatAllLabels _ xlRepeatLabels With ActiveSheet.PivotTables("Tableau croisé dynamique").CubeFields( _ "[Plage 10].[Country]") .Orientation = xlRowField .Position = 1 End With ActiveSheet.PivotTables("Tableau croisé dynamique").CubeFields.GetMeasure _ "[Plage 10].[ID]", xlSum, "Somme de ID 3" ActiveSheet.PivotTables("Tableau croisé dynamique").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique").CubeFields( _ "[Measures].[Somme de ID 3]"), "Somme de ID" ActiveSheet.PivotTables("Tableau croisé dynamique").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique").CubeFields( _ "[Measures].[Somme de ID 3]"), "Somme de ID2" ActiveSheet.PivotTables("Tableau croisé dynamique").CubeFields.GetMeasure _ "[Plage 10].[Asset Name]", xlCount, "Nombre de Asset Name 5" ActiveSheet.PivotTables("Tableau croisé dynamique").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique").CubeFields( _ "[Measures].[Nombre de Asset Name 5]"), "Nombre de Asset Name" ActiveSheet.PivotTables("Tableau croisé dynamique").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique").CubeFields( _ "[Measures].[Nombre de Asset Name 5]"), "Nombre de Asset Name2" With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "[Measures].[Somme de ID 3]") .Caption = "Impacts" .Function = xlCount End With With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "[Measures].[Somme de ID 3]") .Caption = "% Impacts" .Function = xlCount .Calculation = xlPercentOfTotal .NumberFormat = "0.00%" End With With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "[Measures].[Nombre de Asset Name 5]") .Caption = "Total Asset" .Function = xlDistinctCount End With With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "[Measures].[Nombre de Asset Name 5]") .Caption = "% Asset" .Function = xlDistinctCount .Calculation = xlPercentOfTotal .NumberFormat = "0.00%" End With ,我真的不明白为什么!

0 个答案:

没有答案