Записал макрос для отчета, который я запускаю еженедельно и который содержит сводную таблицу.Проблема в том, что диапазон не будет одинаковым каждую неделю.Я попытался установить параметры только для столбцов, но затем я получил пустой столбец в сводной таблице из-за всех пустых ячеек под данными.Есть ли способ изменить SourceData: = _ "Отчет о предварительных заказах UBS! R1C1: R1048576C19" (
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"UBS Pre-Orders Report!R1C1:R1048576C19", Version:=6).CreatePivotTable _
TableDestination:="Sheet4!R3C1", TableName:="PivotTable2", DefaultVersion _
:=6
Sheets("Sheet4").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable2")
.ColumnGrand = True
.HasAutoFormat = True
.DisplayErrorString = False
.DisplayNullString = True
.EnableDrilldown = True
.ErrorString = ""
.MergeLabels = False
.NullString = ""
.PageFieldOrder = 2
.PageFieldWrapCount = 0
.PreserveFormatting = True
.RowGrand = True
.SaveData = True
.PrintTitles = False
.RepeatItemsOnEachPrintedPage = True
.TotalsAnnotation = False
.CompactRowIndent = 1
.InGridDropZones = False
.DisplayFieldCaptions = True
.DisplayMemberPropertyTooltips = False
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.AllowMultipleFilters = False
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = False
.CalculatedMembersInFilters = False
.RowAxisLayout xlCompactRow
End With
With ActiveSheet.PivotTables("PivotTable2").PivotCache
.RefreshOnFileOpen = False
.MissingItemsLimit = xlMissingItemsDefault
End With
ActiveSheet.PivotTables("PivotTable2").RepeatAllLabels xlRepeatLabels
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Item Number")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
"PivotTable2").PivotFields("Quantity On Order"), "Sum of Quantity On Order", _
xlSum
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Ship Date")
.Orientation = xlColumnField
.Position = 1
End With
End Sub