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