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
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


0