El valor por defecto para el informe de gráfico dinámico Filtro / Página Campo
Pregunta
Estoy generar un gráfico de pivote en Excel 2002 con una macro, utilizando un campo de fecha como el filtro de informe gráfico (ajuste de la orientación del campo a xlPageField). Me gustaría establecer el valor seleccionado por defecto de este PivotField al valor más reciente en el campo de la fecha. ¿Cuál es la sintaxis correcta para hacer que en VBA?
Solución
¿No puedes recorrer todos los elementos para que pagefield? Aquí hay una tabla dinámica pero conseguir que funcione para un gráfico no debería ser un gran problema:
Sub Main()
Dim pvt As PivotTable
Dim fld As PivotField
Dim itm As PivotItem
Dim m As Variant
Set pvt = Worksheets(1).PivotTables(1)
Set fld = pvt.PageFields(1)
m = fld.PivotItems(1)
For Each itm In fld.PivotItems
If itm.Value > m Then m = itm.Value
Next itm
fld.CurrentPage = m
End Sub
Otros consejos
No lo que desea es seleccionar la celda después de haber creado dinámicamente el gráfico?
Algo así como:
Dim value As Date
value = "1-apr-09"
Dim row As Integer
row = 0
Dim keeplooping As Boolean
keeplooping = True
While (keeplooping)
row = row + 1
If Range("B" & row).value = value Then
keeplooping = False
Range("B" & row).Select
MsgBox ("found it")
ElseIf Range("B" & row).value = "" Then
keeplooping = False
MsgBox ("Not found")
End If
Wend
ChartObject .PivotLayout.PivotTable.PivotFields ( " fieldName "). CurrentPage = " ValorDelCampo "
Eso es desde Excel 2003, pero presumo 2002 será similar