VBA: Обновление Pivots Проблемы - PullRequest
0 голосов
/ 06 ноября 2018

Я относительно новичок в VBA, в тот момент, когда я пытаюсь обновить сводку, я получаю следующую ошибку Ошибка времени выполнения 1004 , Сводная таблица, кажется, не принимает набор данных правильно, поскольку на сводной диаграмме отсутствуют пропущенные даты, которые правильно отформатированы в наборе данных.

Когда я запускаю макрос, он останавливается прямо на строке DateVal, пожалуйста, не стесняйтесь спрашивать более подробную информацию, если это необходимо.

Я попытался вручную добавить даты, которые являются частью набора данных, с тем же результатом, но если я выберу даты, запускающие макрос записи, это будет работать, но если я запусту макрос, созданный регистратором, я получу ту же ошибку, Я надеюсь, что вы можете показать мне, где я не прав в этом коде.

Sub UpdatePivots()


Application.ScreenUpdating = False
Dim DateVal As String
DateVal = Sheets("home").[G16]
DateFormat = Sheets("home").[Q10]

' Find the last row with data in column A
Sheets("GLViewFinanceCycleCounts").Select
If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False 'Remove Filters if exists
LastRow = ActiveSheet.Range("C1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row

pName = ActiveWorkbook.Path      ' the path of the currently active file
wbName = ActiveWorkbook.Name     ' the file name of the currently active file
shtName = ActiveSheet.Name       ' the name of the currently selected worksheet
DatasetRange = Range("A1:BM" & LastRow).Address(ReferenceStyle:=xlR1C1)
DatasetPT = pName & "\[" & wbName & "]" & shtName & "!" & DatasetRange

' Pivot Updates
' CompletesAndSH page
Sheets("CompletesAndSH").Select ' Pivot Table Page
ActiveSheet.PivotTables("PivotTable41").ChangePivotCache ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:=DatasetPT, Version:= _
        xlPivotTableVersion14)
ActiveWorkbook.RefreshAll
' Filter to selected month
ActiveSheet.PivotTables("PivotTable41").PivotFields("A$Period Name").ClearAllFilters
ActiveSheet.PivotTables("PivotTable41").PivotFields("A$Period Name").CurrentPage = DateVal
...