Значение по умолчанию для фильтра отчета сводной диаграммы / поля страницы - PullRequest
0 голосов
/ 01 июня 2009

Я создаю сводную диаграмму в Excel 2002 с макросом, используя поле даты в качестве фильтра отчета диаграммы (устанавливая ориентацию поля в xlPageField). Я хотел бы установить выбранное по умолчанию значение этого сводного поля на самое последнее значение в поле даты. Какой правильный синтаксис для этого в VBA?

Ответы [ 3 ]

0 голосов
/ 02 июня 2009

chartObject .PivotLayout.PivotTable.PivotFields (" fieldName "). CurrentPage = " fieldValue "

Это из Excel 2003, но я предполагаю, что 2002 будет похожим

0 голосов
/ 04 июня 2009

Разве вы не можете просмотреть все элементы для этого поля страницы? Вот для сводной таблицы, но заставить его работать на графике не должно быть большой проблемой:

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
0 голосов
/ 01 июня 2009

Разве вы не хотите просто выбрать ячейку после динамического создания диаграммы?

Что-то вроде:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...