【发布时间】:2019-03-09 17:56:23
【问题描述】:
我用 VBA 创建了一个 Excel 图表,然后格式化轴标题和字体大小。以下代码适用于水平轴
cht.SetElement msoElementPrimaryCategoryAxisTitleAdjacentToAxis
cht.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Factor of Safety"
cht.Axes(xlCategory, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Size = 15
但是,垂直轴的类似代码
cht.SetElement msoElementPrimaryValueAxisTitleAdjacentToAxis
cht.Axes(xlValue, xlPrimary).AxisTitle.Text = "Depth [mCD]"
cht.Axes(xlValue, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Size = 15
导致错误 424“需要对象”。你能告诉我发生了什么吗?
【问题讨论】:
-
你能发布完整的代码吗?当您到达垂直轴时,您可能已经破坏了
cht对象。你能检查cht在你到达它时是否仍然是一个对象吗? -
@Zac:实际上这两段代码是放在一起的,中间没有代码,这就是为什么我无法理解并在这里发布问题的原因。当然,我没有犯那个明显的错误。这两个部分的前面是启动图表的标准代码。设置 cht = ActiveSheet.Shapes.AddChart2(Style:=240,XlChartType:=xlXYScatter,Left:=Cells(2, 9).Left,Top:=Cells(2, 9).Top,Width:=350,Height: =500).图表
-
你能在尝试设置
msoElementPrimaryValueAxisTitleAdjacentToAxis之前尝试销毁cht对象并重置它吗?