0
Я пытаюсь создать сводную таблицу с помощью макроса vba. Я могу создать начальную сводную таблицу (изображение 1), но когда я пытаюсь изменить компоновку (image2), я получаю сообщение об ошибке.Pivot Table - макрос VBA
Aha! Понял!
.Orientation = xlRowField
это ключ и использование 1-n для количества событий.
'Setting Fields
With pt
With .PivotFields("ID")
.Orientation = xlRowField
.Position = 1
End With
'set column field
With .PivotFields("WorkTime")
.Orientation = xlRowField
.Function = xlSum
.Position = 2
End With
'set column field
With .PivotFields("OvertimePeriod")
.Orientation = xlRowField
.Function = xlSum
.Position = 3
End With
With .PivotFields("Sick leave")
.Orientation = xlRowField
.Function = xlSum
.Position = 4
End With
With .PivotFields("Vacation")
.Orientation = xlRowField
.Function = xlSum
.Position = 5
End With
Они не все попадают в линию, как видно на изображении 2!
Любые предложения были бы весьма признательны. Спасибо заранее.
J
Вы имеете в виду поле с индексом -1. Это не сработает. Попробуйте использовать имя поля в кавычках. –
@ DougGlancy спасибо за отзыв. Похоже, ты наткнулся на суть. У меня 4 поля, и все они должны выровняться поверх каждого другого. – JDS
@DougGlancy oops. Я думаю, что я ищу переменные ориентации и позиции, чтобы это произошло ... Я бы сохранил все переменные, используя «ориентацию»: xlRowField и позиции: 1, 2, 3, 4? Я попробую сыграть с этими – JDS