在excel vba中创建图表时出现“运行时错误13:类型不匹配”

时间:2014-10-06 17:54:44

标签: excel-vba charts vba excel

我想在excel vba中创建一个图表。在类模块的顶部,我声明了myChart 用这一行:

private myChart as chart

然后,在该类模块的子例程中,我使用以下行将myChart设置为新图表:

set myChart = ActiveWorkbook.charts.add

在set语句中,我收到此错误:

"运行时错误13:输入不匹配"

令人沮丧的是因为这个错误有时不会发生,而且,我能够在不同的类模块中使用相同的语句制作图表。

--- --- EDIT

我的课程模块(名为SandChart)如下。为了每个人的缘故,我把它修剪下来, 但当然错误仍然存​​在:

Option Explicit

Private myChart as Chart
Private chartname as String


Private Sub Class_Initialize()
chartname= "Sand Trends"
End Sub


Private Sub makeCoarseChart()
DisableScreenUpdates
eliminateOld
initChart
EnableScreenUpdates
End Sub


Private sub eliminateOld()
Dim chrt as chart
For Each chrt in charts
    if chrt.name = chartname then
        Application.DisplayAlerts=False
        chrt.Delete
        Application.DisplayAlerts=True
        Exit For
    End if
Next chrt
End Sub


Private Sub initChart()
Set myChart= ActiveWorkbook.charts.add
mychart.name= chartname
mychart.ChartType=xlAreaStacked
End Sub 

在我的主模块中,我有以下行,它是起点 我的宏观点:

new SandTrends.makeCoarseChart

感谢您的帮助

0 个答案:

没有答案