我正在使用2轴图表来显示带有列的体积和同比变化,而没有仅视觉表示的数据标签。我编写了一个宏,以将YoY数据标签均匀地移动到每一列的上方。宏在单步执行时工作正常,但在运行时失败。
Sub Move_Data_Point_1_chart()
Set chrt_obj_sig = ActiveSheet.ChartObjects("Volume & 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
这是我的预期输出。 Correct Output
这是失败的输出。 Incorrect Output
有什么建议可以解决吗?
我已经搜索并发现了许多类似的事件,但是我无法应用于我的具体情况。
谢谢。