Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo se filtra la tabla dinámica en función de un valor de celda específico en Excel?

Normalmente, estamos filtrando datos en una Tabla dinámica al verificar los valores de la lista desplegable como se muestra en la captura de pantalla de la izquierda. Si desea hacer que una tabla dinámica sea más dinámica mediante el filtrado, puede intentar filtrarla en función del valor en una celda específica. El método VBA en este artículo lo ayudará a resolver el problema.

Filtra tabla dinámica basada en un valor de celda específico con código VBA


Seleccione fácilmente filas enteras según el valor de la celda en una columna certian:

El Seleccionar celdas específicas utilidad de Kutools for Excel puede ayudarlo a seleccionar rápidamente filas enteras según el valor de celda en una columna de certian en Excel, como se muestra a continuación. Después de seleccionar todas las filas según el valor de la celda, puede moverlas o copiarlas manualmente a una nueva ubicación, según lo necesite en Excel.

Kutools for Excel: con más de 200 útiles complementos de Excel, de prueba sin límite en días 60. Descargue la versión de prueba gratuita Ahora!

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel trae las características avanzadas de 300 a Excel y aumenta su productividad en 80%
  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Kutools funciona con Office 2007-2019 y 365. Es compatible con todos los idiomas y es muy fácil de instalar o implementar. Funciones completas de prueba gratuita de 60-day.

Filtra tabla dinámica basada en un valor de celda específico con código VBA

El siguiente código de VBA puede ayudarlo a filtrar una tabla dinámica basada en un valor de celda específico en Excel. Por favor haz lo siguiente.

1. Ingrese un valor con el que filtrar la tabla dinámica basada en una celda de antemano (aquí selecciono la celda H6).

2. Abra la hoja de trabajo que contiene la tabla dinámica que filtrará por valor de celda. A continuación, haga clic con el botón derecho en la pestaña de la hoja y seleccione Ver código en el menú contextual. Ver captura de pantalla:

3. En la apertura Microsoft Visual Basic para aplicaciones ventana, copie debajo del código VBA en la ventana Código.

Código de VBA: filtro de tabla dinámica basado en el valor de celda

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

Notas: En el código,

1) "Sheet1"Es el nombre de la hoja de trabajo.

2) "PivotTable2"Es el nombre de la tabla pivote.

3) El campo de filtrado en la tabla dinámica se llama "Categoría".

4) El valor que desea filtrar la tabla dinámica se coloca en la celda H6.

Puede cambiar los valores de las variables anteriores según lo necesite.v

4. presione el otro + Q teclas para cerrar el Microsoft Visual Basic para aplicaciones ventana.

Luego, la Tabla dinámica se está filtrando en función del valor en la celda H6, como se muestra a continuación:

Puede cambiar el valor de celda a otros según lo necesite.

Nota: Los valores que escriba en la celda H6 deben coincidir exactamente con los valores en la lista desplegable Categoría de la tabla dinámica.


Office Tab - Navegación con pestañas, edición y administración de libros en Excel:

Office Tab trae la interfaz con pestañas como se ve en los navegadores web como Google Chrome, nuevas versiones de Internet Explorer y Firefox a Microsoft Excel. Será una herramienta de ahorro de tiempo e irremplazable en su trabajo. Vea la demostración a continuación:

¡Haz clic para obtener una versión de prueba gratuita de Office Tab!

Pestaña Office para Excel


Artículos relacionados:


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Justin · 11 months ago
    How would you do this with a report filter that has a hierarchy?

  • To post as a guest, your comment is unpublished.
    Daniel · 1 years ago
    Using this code (updated for my variables of course), when changing the field, the filter changes momentarily to the correct one, and then clears itself almost immediately. Trying to figure out why it's doing this (wondering if it has something to do with the ClearAllFilters at the end of the sub?)