Я использую некоторый код VBA для создания сводной таблицы с нуля.Это работает почти идеально, поэтому я не собираюсь пересматривать код.
Существует только одна проблема ... числа в данных включают десятичные числа, но как только я создаю сводную таблицу, числа в таблице не включают десятичные разряды, включая общий итог.
Мне нужна таблица, чтобы показать десятичные дроби из исходных данных, особенно в поле общего итога.После поиска по сайту я не смог найти что-либо вплоть до этого уровня детализации в сводной таблице VBA.Вот VBA, которую я сейчас использую.
Sub Pivot_Table()
Dim PSheet As Worksheet
Dim DSheet As Worksheet
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
Dim LastRow As Long
Dim LastCol As Long
'Insert a New Blank Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Cash AR195").Delete
Sheets.Add Before:=ActiveSheet
ActiveSheet.Name = "Cash AR195"
Application.DisplayAlerts = True
Set PSheet = Worksheets("Cash AR195")
Set DSheet = Worksheets("AR195 Detail")
'Define Data Range
LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = DSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(1, 1).Resize(LastRow, LastCol)
'Define Pivot Cache
Set PCache = ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:=PRange). _
CreatePivotTable(TableDestination:=PSheet.Cells(2, 2), _
TableName:="AR195Totals")
'Insert Blank Pivot Table
Set PTable = PCache.CreatePivotTable _
(TableDestination:=PSheet.Cells(1, 1), TableName:="AR195Totals")
'Insert Row Fields
With ActiveSheet.PivotTables("AR195Totals").PivotFields("Batch #")
.Orientation = xlRowField
.Position = 1
.Name = "Batch # "
End With
'Insert Data Field
With ActiveSheet.PivotTables("AR195Totals").PivotFields("Amount")
.Orientation = xlDataField
.Position = 1
.Function = xlSum
.NumberFormat = "#,##0"
.Name = "Amount "
End With
'Format Pivot Table
ActiveSheet.PivotTables("AR195Totals").ShowTableStyleRowStripes = True
ActiveSheet.PivotTables("AR195Totals").TableStyle2 = "PivotStyleMedium9"
End Sub
Я также включу некоторые изображения полей данных и сводную таблицу после запуска VBA.
Это может показаться незначительным, но мне абсолютно необходимо включить десятичную дробь.Возможно, я упустил что-то очень простое, но я изо всех сил пытаюсь найти правильный числовой формат, чтобы включить десятичную дробь в конечный продукт (сводную таблицу).
Спасибо за любую помощь заранее, я очень благодарен!