Я относительно новичок в 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