El valor por defecto para el informe de gráfico dinámico Filtro / Página Campo

StackOverflow https://stackoverflow.com/questions/933415

  •  06-09-2019
  •  | 
  •  

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?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top