当前位置:编程学习 > VB >>

请各位老师看看我这个代码问题出在什么地方?

这段程序的目的是根据条件选择不同的数据,利用VBA作图,每次作图之前,需要调用Clear_pics过程把上次做过的图表删除掉。我单独测试过,单个利用Clear_pics过程可以把excel里当前的工作薄里面图表删除,但我一旦在test过程里调用Clear_pics时,却总是出错,显示是“运行时错误 应用程序定义或对象定义错误” 
这个是怎么回事儿?哪儿出问题了?
谢谢

Public Sub Clear_pics()
ActiveSheet.ChartObjects.Delete
End Sub

Sub TEST()
Call Clear_pics  '清除工作薄中现有的chartobject对象
If Sheets(2).ComboBox1.Value = "A" And Sheets(2).ComboBox2.Value = "F" Then    '根据组合框的数值做出选择

    Set mychart = Sheets(2).ChartObjects.Add(110, 100, 300, 150)  '定义一个chart 并对其大小位置做出控制
    With mychart.Chart
    .ChartType = xlColumnClustered
    .SetSourceData Source:=Sheets(3).Range("A1:B6")      '选择数据并作图
    End With
Else
Set mychart = Sheets(2).ChartObjects.Add(110, 100, 300, 150)  '定义一个chart 并对其大小位置做出控制    With mychart.Chart   
.ChartType = xlColumnClustered    
.SetSourceData Source:=Sheets(3).Range("C1:D6")      '选择数据并作图    
End With
End If
End Sub LZ有沒有在刪除之前使有圖表的這個sheet為當前活動的sheet呢?如果不是的話(即當前活動的sheet中沒有圖表的話),就會報這個錯誤的
加上
Sheets(2).Activate
Call Clear_pics 
試試
补充:VB ,  VBA
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,