Well to be honest, if you wish to be able to manually control which month to be the "current" period then rather than using TODAY() in your calcs simply refer to a cell containing the month period of interest.
Using the earlier sample as example:
(month of interest)
Sheet1!D1: 10
'Dummy Data'!G2: =$F2*($D2<=Sheet1!$D$1)
copied down for all rows
'Dummy Data'!H2: =$F2*($D2=Sheet1!$D$1)
copied down for all rows
This approach has the added bonus of making all of your calcs non-volatile (TODAY() being a Volatile Function).
...and if you really wanted you could use VBA to get the PT to auto refresh whenever you alter D1 on the PT sheet
EDIT: not sure when you or I will next be online but assuming...
a) you choose to adopt the above (ie D1 holding month period of interest)
b) were interested in auto refreshing the PT as and when the month period was altered
then roughly speaking the below is what you're looking at...
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ExitPoint
If Intersect(Target, Range("D1")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Application.Calculation <> xlCalculationAutomatic Then Sheets("Dummy Data").Range("G:H").Calculate
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
ExitPoint:
Application.EnableEvents = True
End Sub
to insert the above into the earlier sample file, right click on Sheet1 and select View Code, paste the above into the resulting window.
Thereafter you need to ensure the file is saved in a compatible format (eg .xlsm as opposed to .xlsx) and you need to ensure going forward Macros are enabled when opening the file (else you will need to refresh the old manual way!)
Bookmarks