
Como cambiar todos los pivot de un Worksheet
Publicado por Raul (1 intervención) el 23/10/2013 18:42:27
Hola,
Quisiera saber si es posible cambiar todas las Pivot de un worksheet mediante una lista despegable aparte.
Ejemplo: Todas las Pivot tiene como Filtro de informe Persona y Lugar.
Lo que quiero es crear una lista despegable en "A1" para persona y en "A2" lugar, si cambio "A1" si cambio la persona, quisiera que todas las pivot cambien tambien.
Intente esto pero no me funciono para nada.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pi As PivotItem
Dim strField As String
strField = "Persona"
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
If Target.Address = Range("A1").Address Then
For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables
With pt.PageFields(strField)
For Each pi In .PivotItems
If pi.Value = Target.Value Then
.CurrentPage = Target.Value
Exit For
Else
.CurrentPage = "(Raul)"
End If
Next pi
End With
Next pt
Next ws
End If
Agradezco la ayuda.
Quisiera saber si es posible cambiar todas las Pivot de un worksheet mediante una lista despegable aparte.
Ejemplo: Todas las Pivot tiene como Filtro de informe Persona y Lugar.
Lo que quiero es crear una lista despegable en "A1" para persona y en "A2" lugar, si cambio "A1" si cambio la persona, quisiera que todas las pivot cambien tambien.
Intente esto pero no me funciono para nada.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pi As PivotItem
Dim strField As String
strField = "Persona"
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
If Target.Address = Range("A1").Address Then
For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables
With pt.PageFields(strField)
For Each pi In .PivotItems
If pi.Value = Target.Value Then
.CurrentPage = Target.Value
Exit For
Else
.CurrentPage = "(Raul)"
End If
Next pi
End With
Next pt
Next ws
End If
Agradezco la ayuda.
Valora esta pregunta


0