我一直在试图理解我的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