Look for existing pivottables and change date/year colums based off the “Value” filter
Comepletely forgot to post an answer to this, that i found a little after asking this question. Hopefully someone can use it

The code we used before was not optimal and messy, since you had to write those six lines of code for each PT, and every time you added a new PT.

I then realised you could just add some for each ... then loops that would go through not only every PT, but also each field in the PT, and then I could add the If / elsif that would check which field each PT is using, and have it correct the dates accordingly. 

I had to set the pt anme as a string pts = pt for it to recognize it as a name (I don't know why exactly), but just having it as ActiveSheet.PivotTables(pt).PivotFields( _ .... Didn't work as it thought the name was "pt" and not the actualt name like "PivotTable1"..

It works as intended, the process takes about 1 min to complete. I suspect you can make it faster, but I havn't looked at it.

Sub UpdateAllPivots_new()
'
'Looks through all pivots in the sheet and updates the dates accordingly
'
'Update time is approx. 1 min (How can this be improved)
'

Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim pts As String

    D1 = Sheets("DATA").Range("B6").Value
    D2 = Sheets("DATA").Range("C6").Value
    D3 = Sheets("DATA").Range("D6").Value
    D4 = Sheets("DATA").Range("E6").Value
    D5 = Sheets("DATA").Range("F6").Value
    D6 = Sheets("DATA").Range("G6").Value
    D7 = Sheets("DATA").Range("H6").Value
    D8 = Sheets("DATA").Range("I6").Value
    D9 = Sheets("DATA").Range("J6").Value
    D10 = Sheets("DATA").Range("K6").Value
    D11 = Sheets("DATA").Range("L6").Value
    D12 = Sheets("DATA").Range("M6").Value


Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False

Set ws = ActiveSheet

    For Each pt In ws.PivotTables
    pts = pt 

        For Each pf In pt.PivotFields


                    If pf.Name = "[StatusPickedDatetimeKey].[YearMonth].[YearMonth]" Then
                         ActiveSheet.PivotTables(pts).PivotFields( _
                         "[StatusPickedDatetimeKey].[YearMonth].[YearMonth]").VisibleItemsList = Array("", _
                         "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D1 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D2 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D3 &amp; "]", _
                         "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D4 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D5 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D6 &amp; "]", _
                         "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D7 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D8 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D9 &amp; "]", _
                         "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D10 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D11 &amp; "]", "[StatusPickedDatetimeKey].[YearMonth].&amp;[" &amp; D12 &amp; "]")

                    ElseIf pf.Name = "[Date].[YearMonth].[YearMonth]" Then
                        ActiveSheet.PivotTables(pts).PivotFields( _
                        "[Date].[YearMonth].[YearMonth]").VisibleItemsList = Array("", _
                        "[Date].[YearMonth].&amp;[" &amp; D1 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D2 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D3 &amp; "]", _
                        "[Date].[YearMonth].&amp;[" &amp; D4 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D5 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D6 &amp; "]", _
                        "[Date].[YearMonth].&amp;[" &amp; D7 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D8 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D9 &amp; "]", _
                        "[Date].[YearMonth].&amp;[" &amp; D10 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D11 &amp; "]", "[Date].[YearMonth].&amp;[" &amp; D12 &amp; "]")

                     End If


        Next pf

    Next pt


Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True

End Sub
```