наиболее вероятно, что код вызывает некоторую ошибку во время циклического изменения сводной таблицы, а затем он переходит на метку ErrHandler:
, пропуская как wrb.Close
, так и Set wrb = Nothing
, перемещая эти последние операторы после ErrHandler:
метка
Sub aggiorna()
On Error GoTo ErrHandler
Application.ScreenUpdating = False
Dim wrb As Workbook
Dim pt As PivotTable
' Apre in sola lettura
Set wrb = Workbooks.Open("C:\Users\Saila\Desktop\Ore Operatori_2018.xlsx", True, True)
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
Next pt
ErrHandler:
' Chiude Sorgente
wrb.Close
Set wrb = Nothing
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Кстати, вы можете прокомментировать On Error GoTo ErrHandler
и посмотреть, где и почему происходит сбой кода, а затем улучшить свой код для надлежащего управления ошибкой