Visual Basic - Necesito filtrar Tabla Dinamica en PowerPivot

Life is soft - evento anual de software empresarial
 
Vista:

Necesito filtrar Tabla Dinamica en PowerPivot

Publicado por Silvio (1 intervención) el 29/04/2021 03:49:23
Hola Chicos

Tengo el siguiente código donde intento filtrar un PivotTable pero la tabla dinámica esta montada en PowerPivot y no funciona el código.

La idea es que el usuario busque el estado de la propiedad en un ListBox y al darle al CommandButtom, este ejecute la macro de búsqueda usando Like.

Cuando uso el commandButton este me dice muestra el MsgBox , pero no realiza el filtro, la tabla queda igual, y los valores buscados es un texto, ejemplo: Devuelta, Vendida, Disponible, pero aun colocandole 1 me muestra el MsgBox.

Private Sub CommandButton1_Click()

Dim HojaInforme As Worksheet
Dim PT As PivotTable
Dim PI As PivotItem
Dim Texto As String

Set HojaInforme = Worksheets("Td")
Set PT = HojaInforme.PivotTables("TdClientes")

Texto = UCase(Me.TextBox1.Value)


If Texto = Empty Then
MsgBox ("Debe de Ingresar algun dato"), vbInformation, "Información"
Exit Sub
End If

'----Si al ejecutar el valor de Texto no existe en la Tabla dinamica
On Error GoTo MyError
'-----------------------
'-----------------------
With PT.PivotFields("[TablaEstadoPropiedad].[Estado Propiedad].[Estado Propiedad]")
.ClearAllFilters
For Each PI In PT.PivotFields("[TablaEstadoPropiedad].[Estado Propiedad].[Estado Propiedad]")
If UCase(PI.Name) Like "*" & Texto & "*" Then
PI.Visible = True
Else
PI.Visible = False
End If
Next PI
End With
'-----------------------
MsgBox ("Filtro Exitoso"), vbInformation, "VBA"
'-----------------------
Exit Sub
MyError:
MsgBox ("El valor no existe en la base de datos" & Chr(13) & "Favor verificar")
PT.PivotFields("[TablaEstadoPropiedad].[Estado Propiedad].[Estado Propiedad]").ClearAllFilters
Exit Sub

Call UserForm_Initialize

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder