#excel #vba #charts
#excel #vba #Диаграммы
Вопрос:
Я работаю с 2-осевой диаграммой, показывающей объем со столбцами и изменение за год без визуального представления, только метки данных. Я написал макрос для равномерного перемещения меток данных за год над каждым столбцом. Макрос отлично работает при пошаговом выполнении, но завершается сбоем при запуске.
Sub Move_Data_Point_1_chart()
Set chrt_obj_sig = ActiveSheet.ChartObjects("Volume amp; YoY")
Set chrt_sig = chrt_obj_sig.Chart
pnt_cnt = chrt_sig.SeriesCollection(1).Points.Count
chrt_sig.FullSeriesCollection(1).DataLabels.Position = xlLabelPositionInsideEnd
For i = 1 To pnt_cnt
chrt_sig_pt = chrt_sig.SeriesCollection(1).Points(i).DataLabel.Top
chrt_sig.SeriesCollection(2).Points(i).DataLabel.Top = chrt_sig_pt - 18
Next i
chrt_sig.FullSeriesCollection(1).DataLabels.Position = xlLabelPositionCenter
End Sub
Вот мой ожидаемый результат.
Правильный вывод
Вот неудачный вывод. Неверный вывод
Есть предложения по исправлению этого?
Я искал и нашел много похожих случаев, но ничего, что я мог бы применить к моей конкретной ситуации.
Заранее спасибо.
Комментарии:
1. сбой при запуске : к сожалению, это ничего не говорит нам о вашей проблеме. Выдает ли он ошибку? если да, то что это? Если нет, то что он делает, чего он не предполагает? Кроме того, попробуйте уточнить свой лист, а не
ActiveSheet
. Это чревато опасностью2. Извините, следовало бы лучше объяснить «сбой». При запуске макроса он неправильно перемещает метки дополнительных данных. В моем исходном сообщении есть 2 картинки, показывающие, каким должен быть мой ожидаемый результат и что я получаю при запуске макроса. Не уверен, почему он будет работать пошагово, но не при его запуске.
3. Есть причины не использовать
xlLabelPositionOutsideEnd
?4. Я пытаюсь показать объем с каждым столбцом, эта метка данных должна быть центрирована в каждом столбце. Дополнительно отображается изменение за год с перекрывающимся столбцом без цвета. Цель состоит в том, чтобы показать изменение за год над столбцом объема. Значение YoY редко совпадает с объемом, что требует корректировки его положения.