Excel VBA: Неправильное количество элементов в коллекции LegendEntries

Автор noname6171, 22 апреля 2017, 15:42

noname6171

Привет. Я с помощью макроса создаю 3D-диаграмму, а затем хочу пройтись по элементам легенды.
Но в коллекции LegendEntries меньше элементов, чем элементов в легенде.
Если запускать макрос в режиме F8, то кол-во элементов в коллекции "LegendEntries" правильное.
Это баг в программе "Excel" или я что-то не понимаю?

Администратор

Да, это брак в экселе. Могу предложить обходной способ.
После создания диаграммы, сместите легенду, а затем верните обратно. При этом происходит обновлении коллекции "LegendEntries" и она содержит правильное кол-во элементов.

Код
Sub Макрос()
    '1. Смещаем легенду вверх.
    ActiveSheet.ChartObjects(1).chart.Legend.top = ActiveSheet.ChartObjects(1).chart.Legend.top - 1
    '2. Возвращаем легенду обратно.
    ActiveSheet.ChartObjects(1).chart.Legend.top = ActiveSheet.ChartObjects(1).chart.Legend.top + 1
End Sub
[свернуть]