Поскольку сводные таблицы находятся на защищенных листах, вы получаете эту ошибку, поэтому вам необходимо снять защиту с них перед обновлением
, поэтому используйте кнопку обновления на каждом листе и назначьте этот макрос ниже,
g_sPassword-> - пароль для снятия защиты листа, я объявил его как переменную, поэтому я использую его напрямую
Sub RefreshPtInFirstsheet ()
Call RefreshPivotTables(sheetname1)
End Sub
Sub RefreshPtInSecondsheet ()
Call RefreshPivotTables(sheetname2)
End Sub
Sub RefreshPivotTables (sht As Worksheet)
Dim pt As pivotTable
sheetname1.Unprotect g_sPassword
sheetname2.Unprotect g_sPassword
For Each pt In sht.PivotTables
pt.PivotCache.Refresh
Exit For
Next pt
sheetname1.Protect g_sPassword
sheetname2.Protect g_sPassword
MsgBox "Pivot Table Updated"
End Sub