После двух дней ковыряния нашел решение. Правда, оно в стиле Microsoft :)
Я записал еще один макрос, но скрывал поле в таблице не drag-and-drop-ом, а через контекстное меню с помощью команды "Скрыть". И вместо текста
ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields( _
"Сумма по полю Рентабельность").Orientation = xlHidden
обнаружил в записанном макросе текст
Range("A14").Select
Selection.Delete
то есть производится операция удаления в ячейке, содержащей заголовок поля.
Чтобы было более универсально, я подкорректировал текст так:
ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields( _
"Сумма по полю Рентабельность").LabelRange.Cells(1, 1).Delete
Ссылка на .Cells(1, 1) необходима, так как при наличии в сводной таблице более одного поля данных, .LabelRange возвращает массив ячеек, в которых присутствует название поля, а несколько ячеек таким образом Excel удалять не позволяет. Если же выбрать первую из них, то все будет Ок.
Вывод: видимо, есть некий глюк в реализации сводных таблиц, связанный с различными механизмами обработки полей данных и вычисляемых полей. И через GUI работа с вычисляемыми полями организована корректно, а через Properties - нет. В Help-е ничего по этому поводу этой особенности не сказано.
Файл с результатом прилагаю.
Я записал еще один макрос, но скрывал поле в таблице не drag-and-drop-ом, а через контекстное меню с помощью команды "Скрыть". И вместо текста
ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields( _
"Сумма по полю Рентабельность").Orientation = xlHidden
обнаружил в записанном макросе текст
Range("A14").Select
Selection.Delete
то есть производится операция удаления в ячейке, содержащей заголовок поля.
Чтобы было более универсально, я подкорректировал текст так:
ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields( _
"Сумма по полю Рентабельность").LabelRange.Cells(1, 1).Delete
Ссылка на .Cells(1, 1) необходима, так как при наличии в сводной таблице более одного поля данных, .LabelRange возвращает массив ячеек, в которых присутствует название поля, а несколько ячеек таким образом Excel удалять не позволяет. Если же выбрать первую из них, то все будет Ок.
Вывод: видимо, есть некий глюк в реализации сводных таблиц, связанный с различными механизмами обработки полей данных и вычисляемых полей. И через GUI работа с вычисляемыми полями организована корректно, а через Properties - нет. В Help-е ничего по этому поводу этой особенности не сказано.
Файл с результатом прилагаю.