You can add a little macro like this via the Worksheet_activate event
Code:
Sub PivotMacro()
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables("MyPivot")
pt.RefreshTable
End Sub
which will refresh when ws activated.
Also see that your data source is dynamic ( like a table)