2014-03-31 48 views
5

嘗試命名圖表時出現「內存不足」錯誤。我需要能夠在稍後的另一個子程序中參考此圖表。任何幫助讚賞。命名圖表時出現內存不足錯誤

Sub CreateChart() 
' Creates chart for the Quality sheet 

Dim sBusiness As String 
Dim charttype As String 
Dim shChart As Worksheet 
Dim num_iss As Integer 
Dim i As Integer 
Dim endrng As Integer 
Dim currentChart As Chart 

Set shChart = ThisWorkbook.Sheets("Chart Tool") 
sBusiness = ThisWorkbook.Worksheets("Chart Tool").Range("select_bu").value 
charttype = ThisWorkbook.Worksheets("Chart Tool").Range("select_chart").value 
num_iss = ThisWorkbook.Sheets("Chart Tool").Range("num_issues").value 
endrng = 31 + num_iss 


' Chart Placement 
    shChart.Shapes.AddChart(xlColumnClustered, _ 
    Left:=8, Top:=110, _ 
    Width:=428, Height:=240).Select 
    If charttype = "Cost" Then 
     ActiveChart.SetSourceData Source:=shChart.Range(shChart.Cells(2, 32),     shChart.Cells(3, endrng)) ' souce range 
    End If 
If charttype = "DPM" Then 
    ActiveChart.SetSourceData Source:=shChart.Range(shChart.Cells(7, 32), shChart.Cells(8, endrng)) ' souce range 
    End If 

    ActiveChart.SetElement msoElementCategoryAxisShow 
    ActiveChart.SetElement msoElementChartTitleAboveChart ' sets chart title above 
    ActiveChart.SetElement msoElementLegendNone ' removes legend 
    ActiveChart.SetElement msoElementPrimaryCategoryAxisTitleBelowAxis ' horizontal axis 
    ActiveChart.SetElement msoElementPrimaryValueAxisTitleRotated ' Vertical axis 
    ActiveChart.ChartTitle.Caption = "Top Issues for " & sBusiness & " by " & charttype ' adds title name 
    ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Caption = "Issue" ' adds x-axis title name 
    ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Caption = charttype ' adds y-axis title name 
    ActiveChart.Name = "ParetoChart" 

End Sub 
+0

哪條線,你得到的錯誤? – Gareth

+0

嘗試'ActiveChart.Parent.Name =「ParetoChart」。 –

回答

10

對於嵌入圖表對象,圖表的.Name屬性爲只讀。您應該可以爲圖表的父母.ChartObject指定一個名稱。

由於ChartObject.Chart父母,嘗試:

ActiveChart.Parent.Name = "ParetoChart" 
相關問題