2016-07-07 36 views
0

我一直在尝试使用Excel宏创建图表。我想把它的起点从0,0改变到任何我想要的点。使用Excel宏将单元格值赋给ActiveChart.Axes(xlValue).CrossesAt

对于每个图形来说,它指的是一系列应该是原点的单元格中的一组值。但是当我运行它时,出现类型不匹配错误。

ActiveChart.ChartArea.Select 
ActiveChart.PlotArea.Select 
ActiveChart.SetElement (msoElementPrimaryValueAxisShow) 
ActiveSheet.ChartObjects("Age Var").Activate 
ActiveChart.Axes(xlValue).Select 
ActiveChart.Axes(xlValue).MaximumScale = 4 
ActiveChart.Axes(xlValue).MinimumScale = 1.5 
**ActiveChart.Axes(xlValue).CrossesAt = CDbl(Range("K2:M2").Value)** 
ActiveSheet.ChartObjects("Age Var").Activate 
+0

看看我的回答如下 –

回答

0

ActiveChart.Axes(xlValue).CrossesAt需要得到一个值,你将它设置为一个单元格区域,这就是为什么你得到一个错误。下面

见代码,简化并使其更短:

' Assuming you meant "Age Var" as your chart's Name you want all your auto settings by VBA code 
ActiveSheet.ChartObjects("Age Var").Activate 
ActiveChart.SetElement (msoElementPrimaryValueAxisShow) 
ActiveChart.Axes(xlValue).MaximumScale = 4 
ActiveChart.Axes(xlValue).MinimumScale = 1.5 

' modifed your Range to a Single Cell 
ActiveChart.Axes(xlValue).CrossesAt = CDbl(Range("K2").Value) 
相关问题