Activechart.name每次都会抛出“内存不足”的错误
我已经做了多个Excel文件试图解决这个问题。 我已经到了这一点,我仍然得到这个函数的错误:
Sub graph1() ActiveChart.Name = IChart MsgBox "done" End Sub
这是一个启用了macros的excel文件,它包含A1到F754范围内的Sheet 1上的仅数值数据和Sheet 2上的(手动制作的)Smooth Scatter Graph。
试图运行这个代码(select图表使ActiveChart有效)我得到的错误:
运行时错误'7':内存不足
请帮助,我需要能够命名图表,以便我可以使用.Axis格式更改,重新调整图表和其他一些事情与VBAmacros。
不要把这个标记为答案,因为Demetri在评论中正确回答了这个问题。
他是正确的,你应该使用:
ActiveChart.Parent.Name = "ChartName"
或者你可以使用一个包含你的名字的variables。
为什么使用Parent
属性? 原因是ActiveChart
指向ChartObject
Chart
属性,并且只能在ChartObject
上设置Name
属性。
所以基本上,
Dim Co As ChartObject Set Co = ActiveChart.Parent Debug.Print Co.Name 'retrieve chart object name Co.Name = "Chart Name" 'assign name
我希望这个清楚的事情出来。
如何分配类似于下面的variables,并按如下所述进行更改:
Function test() Dim ic As Chart ' Somehow assign the chart to a variable Set ic = ActiveChart ' Change the name as desired ic.Parent.Name = IChart ' Change the axes as desired ic.Axes(xlCategory).CrossesAt = -350 End Function