Makro til at skifte datoer i mange pivottabeller
Eksempel :Jeg har 10 pivot-tabeller som er genereret fra en OLAP Cube
Fælles for alle er, at der skal skiftes 2 datoer i alle 10 på een gang, hvilket jeg gerne vil gøre via en makro.
Nogle af disse pivot-tabeller er ret komplekse og tunge / tidskrævende at skifte datoer i, - men det kan lade sig gøre når jeg skifter dem manuelt/enkeltvis
Men når de er indbygget i en makro fejler de med locking conflict :-(
Hvorfor sker det, - er det fordi udskiftning af 1st dato og efterfølgende refresh ikke er færdig før næste data forsæges skiftet.
VBA ser således ud :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RDate_DASHBOARD As Range
Dim PickUpYesterday As String
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set RDate_DASHBOARD = Range("W2:W2")
On Error GoTo ErrorHandler
'WorkSheet PickUpYesterday - tested 17.06.2021
RDate_PickUpYesterday = Worksheets("PickUpYesterday").Range("B1:B1")
Worksheets("PickUpYesterday").PivotTables("PivotTable1").PivotFields( _
"[Reporting Date].[Year - Month - Date].[Year]").CurrentPageName = _
"[Reporting Date].[Year - Month - Date].[Date].&[" & RDate_PickUpYesterday & "]"
Worksheets("PickUpYesterday").PivotTables("PivotTable1").PivotFields( _
"[Date Booking].[Year - Month - Date].[Year]").CurrentPageName = _
"[Date Booking].[Year - Month - Date].[Date].&[" & RDate_PickUpYesterday & "]"
MsgBox "Update finished !"
ErrorHandler:
MsgBox ("Error occurred while processing worksheet: " + ActiveSheet.Name)
End Sub