Filtrar tabla dinámica por medio del valor de una celda.

Anteriormente pudiste ayudarme y ahora vuelvo a recurrir a tu persona.

Tengo un excel en el cual en la celda d12 digito un código de cliente y este mediante una macro hace que la tabla filtre la informacion relacionada a este código. El problema radica cuando ingreso un código que no existe en mi base de datos enseguida toda la informacion de todos los códigos se visualiza en la misma tabla dinámica. Lo que se necesita es que si no existe un código simplemente se muestre un mensaje indicando que dicho código no existe en la bd y también que la tabla dinámica se muestre vacía o en blanco. ¿Por favor podrías ayudarme con este caso?

Como ves en la primera imagen ingreso un código existente en mi bd. En la segunda hoja ingreso un código que no existe y la tabla dinámica se llena de todos los códigos existentes en mi bd.

La tercera es el código que uso en mi programación.

Por favor, espero tu apoyo!

Gracias!

1 respuesta

Respuesta
1

Prueba eso:

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.ScreenUpdating = False
  '
  If Target.Address(0, 0) = "D12" Then
    With PivotTables("Tabla dinámica1")
      .ClearAllFilters
      On Error Resume Next
      .PivotFields("Cliente").CurrentPage = Target.Value
      If Err.Number = 1004 Then
        .ClearAllFilters
        MsgBox "El código no existe"
      End If
    End With
  End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas