如何使用VBA显示图表轴标题



我正在设计一个宏,该宏使用电子表格中的各种范围创建图表。我的图表代码如下所示,但由于某些原因,我无法显示左(主(轴标题。这对右边(次要(来说很好。其余的代码运行良好,都挂在这个不会显示的单轴标题上。

有什么想法吗?

ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
With ActiveChart
.SetSourceData Union(range1, range2)
.FullSeriesCollection(1).ChartType = xlColumnClustered
.FullSeriesCollection(1).AxisGroup = 1
.FullSeriesCollection(1).HasErrorBars = True
.FullSeriesCollection(2).ChartType = xlLine
.FullSeriesCollection(2).AxisGroup = 1
.FullSeriesCollection(2).AxisGroup = 2
.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis)
.SetElement (msoElementSecondaryValueAxisTitleAdjacentToAxis)
.SetElement (msoElementPrimaryCategoryAxisTitleNone)
.ChartArea.Font.Color = RGB(0, 0, 0)
.ChartArea.Font.Size = 10
End With

不确定,但可能是这一行导致了问题吗?

With ActiveChart
.SetSourceData Union(range1, range2)
.FullSeriesCollection(1).ChartType = xlColumnClustered
.FullSeriesCollection(1).AxisGroup = 1
.FullSeriesCollection(1).HasErrorBars = True
.FullSeriesCollection(2).ChartType = xlLine
.FullSeriesCollection(2).AxisGroup = 1 ' <------- This line seems unnecessary
.FullSeriesCollection(2).AxisGroup = 2
.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis)
.SetElement (msoElementSecondaryValueAxisTitleAdjacentToAxis)
.SetElement (msoElementPrimaryCategoryAxisTitleNone)
.ChartArea.Font.Color = RGB(0, 0, 0)
.ChartArea.Font.Size = 10
End With

编辑我可能从这个答案中找到了解决方案。这听起来像是一个bug,常量被解释为306,但如果你查看文档,常量被映射到值307。因此,只需使用307文字而不是msoElementPrimaryValueAxisTitleAdjacentToAxis

最新更新