Excel VBA图表作为不同的图表类型重复出错

时间:2015-08-12 02:30:40

标签: excel vba excel-vba charts

我一直在试图理解我的excel vba代码生成一些重复图表的方式和原因。首先,当我将宏作为独立运行时,图表生成完美且没有问题,但是,图表是在第5个模块中创建的,当我从头到尾运行整个过程时,我得到一个重复的图表。我正在尝试创建一个堆叠的柱形图(它本身可以正常工作),但我也得到一个名为相同的常规条形图,其中包含相同的信息。这也发生在另一个图表中,即图表。我不确定是否存在内存或为什么会创建第二个图表。数据名称范围在列中设置如下。命名范围是“FTE_by_Co_Data”

期间(a1)CoA FTE(b1)CoB FTE(c1) (a2)jan-15(b2)15(c2)30 等

以下是名称范围和图表创建的代码。

'Name the Data Range for the Chart Source
        Sheets("FTE_by_Co").Select
        Range("A1").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        ActiveWorkbook.Names.Add Name:="FTE_by_Co_Data", RefersTo:=Selection
        Sheets("FTE_by_Co").Select
        Range("FTE_by_Co_Data").Select


 'Creating New Chart
        Dim StffChartObject2 As ChartObject
        Set StffChartObject2 = ActiveSheet.ChartObjects.Add(Left:=200, Top:=50, Width:=600, Height:=400)
        StffChartObject2.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("FTE_by_Co").Range("FTE_by_Co_Data")
        StffChartObject2.Name = "FTECoChart"
        ActiveSheet.ChartObjects("FTECoChart").Activate
        ActiveChart.PlotBy = xlColumns
        ActiveChart.ChartType = xlColumnStacked
        ActiveChart.Legend.Select
        Selection.Position = xlRight

'Add Chart Title
        ActiveSheet.ChartObjects("FTECoChart").Activate
        StffChartObject2.Chart.HasTitle = True
        StffChartObject2.Chart.ChartTitle.Text = "Staffing-Time Phase by FTE (avg. 157 hr/mo)"

同样,当我单独运行此模块时,这很有效,但是当我按照从Mod 1到Mod 10的顺序运行它(这是在Mod 7中)时,它总是创建一个不是堆积条的重复图表图表。是否存在内存问题?或者我的代码是否正在快速创建此代码?我不知道为什么会发生这种情况。在此先感谢您的任何帮助。 -Mike

0 个答案:

没有答案