Red de conocimiento informático - Material del sitio web - Cómo usar vba para implementar el filtrado automático de tablas dinámicas

Cómo usar vba para implementar el filtrado automático de tablas dinámicas

Autor original, el funcionamiento de cada tabla dinámica varía mucho según el tipo de datos real.

Es difícil saber cómo hacerlo aquí~

Use Excel 2010 o 2013, registre una macro y luego opere la tabla dinámica, puede ver la operación específica.

Hay errores en 2007. No lo use correctamente. Hay muchos procesos operativos que no se pueden ver.

También hice muchos filtros automáticos y los publiqué para que los veas. No entraré en detalles, se puede implementar.

'Crear gráfico

Establecer cht = wbd.Sheets("PivotTable").ChartObjects.Add(wbd.Sheets("PivotTable").Cells(1, "J") .Left + 8, wbd.Sheets("Tabla dinámica").Celdas(1, "J").Top, 708, 284)

cht.Name = "Gráfico 1"

cht.Chart.ChartWizard Fuente:=tb.TableRange1

cht.Chart.SetElement (msoElementChartTitleAboveChart)

k = 0

'Según los datos actualizados modelo, determine el código incorrecto

Para cada tipo de lote en tb.PivotFields("Type").PivotItems

lotype_1 = lotype

tb.PivotFields("Type ").CurrentPage = lotype_1

'Este lugar es la configuración del filtro~~~

Si UBound(Filter(pdt, lotype)) = 0 Entonces

tb.PivotFields("DGS%").Orientation = xlHidden

tb.PivotFields("GCS%").Orientation = xlHidden

tb.PivotFields("GGS%"). Orientación = xlHidden

tb.PivotFields("Glass Qty").Position = 2

Con cht.Chart

.ChartTitle.Text = lotype_1 & " _Tray y confirmación de rendimiento @Inv%"

.ApplyChartTemplate ( _

"F:\Sputter Daily Report Automation\1.Chart Template\Tray_Yield_TN.crtx")

Terminar con

Else

tb.PivotFields("Inv%").Orientation = xlHidden

tb.PivotFields("Glass Qty").Position = 4

Con cht.Chart

.ChartTitle.Text = lotype_1 & "_Tray alias YieldConfirm@DGS/GCS/GGS%"

.ApplyChartTemplate ( _

"F:\Sputter Daily Report Automation\1.Chart Template\Tray_Yield_ADS.crtx")

Finalizar con

Finalizar si