我在用一段小VBA做断开EXCEL的图表链接的时候,运行数据量小的表可以执行,数据1W多的时候就报错
“1004 不能设置类series 的value 属性!”
程序如下:
Sub BreakChartLinks()
 
   For Each x In ActiveChart.SeriesCollection
   
      x.Values = x.Values
      x.XValues = x.XValues
      x.Name = x.Name
   Next x   End Sub比较急,请高手指教!多谢!

解决方案 »

  1.   

    经过反复多次研究,终于找到了问题的原因。就是:
      当你的图表的.SeriesCollection(1).ChartType = xlLine时,即是折线图时,可能图表所指数据源的单元格引用正巧为空的,这时候系列被VB误认为是“空白系列”,如果此时通过宏来设置XValue或者Value属性时,即会出错。但是如果图表所引用的单元格有数值的话(如:被引用的单元格赋值为0),就可以通过宏来设置XValue或者Value属性。
      相同的情况同样会出现在删除此系列时,即:ActiveChart.SeriesCollection(1).Delete,也会出现错误。
      但当.SeriesCollection(1).ChartType =xlColumnClustered时,即柱图时,就不会出现这种情况。
      很奇怪的,VB就是这样!
      解决的方法就是:
      在设置XValue或者Value属性或删除此系列前,将.SeriesCollection(1).ChartType改为 xlColumnClustered即可。设置完XValue或者Value属性或删除此系列后,再将.SeriesCollection(1).ChartType属性改回原来的xlLine。
      但是不足的是改变后,线条的颜色、坐标轴等需要重新再设置过。