Поле значения не отображает значения при использовании VBA для создания сводной таблицы - PullRequest
1 голос
/ 25 июня 2019

Код не вызывает ошибку, и создается таблица с правильными полями строки и столбца.Однако в поле значения ничего не появляется.

'Insert Row Fields
With ActiveSheet.PivotTables("Rev by Facility")
    With .PivotFields("Facility")
        .Orientation = xlRowField
        .Position = 1
    End With
    'Insert Column Fields
    With .PivotFields("Revenue")
        .Orientation = xlColumnField
        .Position = 1
    End With
    'Insert Data Field
    With .PivotFields("SubTotal 2")
        .Orientation = xlValuesField
        .Position = 1
        .Function = xlSum
        .Name = "Sum of SubTotal 2"
    End With
End With

Это только часть кода, приведенный выше код не должен приводить к тому, что поле значения не появляется.Источник данных сводной таблицы включает столбец и все данные, которые я хочу отобразить в поле значения.

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Чтобы определить сводное поле как «поле значения», вы должны использовать xlDataField.

.Orientation = xlDataField

На всякий случай:
Часто называемые «поля фильтра» имеют ориентацию xlPageField.

0 голосов
/ 25 июня 2019

Неправильный отступ строк может привести к возникновению всевозможных проблем. Попробуйте это

    'Insert Row Fields
    With ActiveSheet.PivotTables("Rev by Facility")
        With .PivotFields("Facility")
            .Orientation = xlRowField
            .Position = 1
        End With
    'Insert Column Fields
        With .PivotFields("Revenue")
            .Orientation = xlColumnField
            .Position = 1
        End With
    'Insert Data Field
        With .PivotFields("SubTotal 2")
            .Orientation = xlValuesField
            .Position = 1
            .Function = xlSum
            .Name = "Sum of SubTotal 2"
        End With
    End With
...