Tengo el siguiente problema, tengo el siguiente código para que la macro me filtre una tabla dinámica según lo que tenga en la celda E7, pero en esa celda tengo una formula y la macro no me reconoce el resultado de la misma, solamente si la dígito directamente, que puedo hacer para que reconozca el valor de la formula
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E7")) Is Nothing Then
'En base al campo de la Tabla dinámica1:
With PivotTables("TablaDinámica1").PivotFields("CEDULA ADMIN")
'Limpiar todos los filtros
.ClearAllFilters
'Filtrar por el valor de la celda
On Error Resume Next
.CurrentPage = Range("E7").Value
End With
End If
End Sub
adicional que puedo hacer para que cuando no encuentre el valor asociado en el filtro, no deje todos los valores, si no que deje el filtro en blanco, o deje un valor especifico?
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Tengo el siguiente problema, tengo el siguiente código para que la macro me filtre una tabla dinámica según lo que tenga en la celda E7, pero en esa celda tengo una formula y la macro no me reconoce el resultado de la misma, solamente si la dígito directamente, que puedo hacer para que reconozca el valor de la formula
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E7")) Is Nothing Then
'En base al campo de la Tabla dinámica1:
With PivotTables("TablaDinámica1").PivotFields("CEDULA ADMIN")
'Limpiar todos los filtros
.ClearAllFilters
'Filtrar por el valor de la celda
On Error Resume Next
.CurrentPage = Range("E7").Value
End With
End If
End Sub
adicional que puedo hacer para que cuando no encuentre el valor asociado en el filtro, no deje todos los valores, si no que deje el filtro en blanco, o deje un valor especifico?