Have you tried a simpler approach like:

Sub PQ_Refresh()
Application.screenupdating = false
ActiveWorkbook.RefreshAll
Application.CalculateUntilAsyncQueriesDone
Sheets("Main").Select
End Sub