Добавление количества замен полей вместо добавления - PullRequest
0 голосов
/ 09 апреля 2020

Я не очень часто использовал сводные таблицы, и я пытаюсь создать одну в VBA для анализа определенного поля («Состояние») данных, которые я регулярно импортирую. Данные, сгенерированные сводной таблицей, будут накапливаться отдельно и отображаться для отображения тенденций во времени. Я создал таблицу для импортированных данных, но у меня не получилось создать сводную таблицу из данных, включающих поля, которые я хочу в сводной таблице.

Private Sub CreatePivot(tbl As ListObject)

    Dim ws As Worksheet
    Dim pc As PivotCache
    Dim pt As PivotTable

    Set ws = Worksheets.Add
    ws.Name = "Temp"

    Set pc = ActiveWorkbook.PivotCaches.Create(xlDatabase, tbl.Range.Address(False, False, xlA1, xlExternal))
    Set pt = pc.CreatePivotTable(ws.Range("B3"))
    pt.Name = "CurrentSPRStatus"

    With pt
        With .PivotFields("Status")
           .Orientation = xlColumnField
           .Position = 1
        End With
        .AddDataField .PivotFields("Status"), "Count of Status", xlCount
    End With    
End Sub

Поле «Состояние» содержит около 15 значения, и я хочу определить количество для каждого значения, чтобы я мог накапливать его на другом листе. Когда я шагаю по коду, «Состояние» добавляется как поле столбца в списке полей сводной таблицы, как и ожидалось. Но я ожидаю, что второй «Статус» будет добавлен в качестве счетчика. Вместо этого поле «Состояние» изменяется с поля столбца на поле значения.

Я записал макрос и использовал сгенерированный код (массируемый, чтобы избежать использования Select методов), но я не могу получить два сгенерированных поля. Это, наверное, что-то очевидное, но я не вижу этого.

...