Sub YTD_budget()
Dim dl As Integer
10 On Error GoTo ErrHandler
15 Application.EnableEvents = False
20 With Application
30 oldCalculation = .Calculation
40 .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False
50 End With
With Sheets("budget_source")
dl = .Range("A65536").End(xlUp).Row
With Range("D2:D" & dl)
Application.Calculation = xlCalculationAutomatic
.FormulaR1C1 = "=IF(MONTH(today)=MONTH(start),0,SUM(OFFSET(raw_budget!RC1,MATCH(budget_source!RC1,budget_description,0),1,1,MATCH(TEXT(today,""mmmm""),title,0)-1)))+INDEX(figures,MATCH(budget_source!RC1,budget_description,0),MATCH(TEXT(today,""mmmm""),title,0))*DAY(today)/DAY(DATE(YEAR(today),MONTH(today)+1,0))*1000"
Do While Application.CalculationState <> xlDone
Loop
'.Value = .Value
End With
End With
ErrHandler:
330 With Application: .ScreenUpdating = True: .EnableEvents = True: .EnableEvents = True: End With
340 If Err.Number > 0 Then
350 MsgBox "An error occurs in 'YTD_budget_treatment macro' at line " & Erl & vbCrLf & vbCrLf & Err.Number & ":" & vbCrLf & Err.Description, vbExclamation, "S_GMRB_treatment"
360 End If
End Sub