2013-07-22 54 views
1

我在獲取Run Time error 1004 :Method name of object _chart failed的同時嘗試命名我的圖表。有時會運行,有時卻不會。下面是導致該錯誤的部分,(整個宏是很長,所以我還沒有發佈這一切。)對象_chart失敗的方法名稱

繪製直方圖的3D山坳圖表:

Range("U1:R23").Select 
    Charts.Add 
    ActiveChart.ChartType = xlCylinderCol 
    ActiveChart.Name = "mcChart" -----------> Error 
With ActiveChart 
.HasTitle = True 
.ChartTitle.Characters.Text = "Dynamic Weight Chasing Histogram" & Chr(10) & "Local SWT ,File:" & Name & ", Roadforce-Check Spin" & Chr(10) & "assembly after dimensions changed, Old software" 
.Axes(xlCategory, xlPrimary).HasTitle = True 
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "weights(Oz)" 
Charts("mcChart").SeriesCollection(1).XValues = Array(0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, "4-5", "5-6", "6-7", "7-8", "8-9", "9-10") 
.SeriesCollection([4]).Interior.Color = RGB(139, 0, 0) ' dark red 
.SeriesCollection([3]).Interior.Color = RGB(205, 92, 92) 'indian red 
.SeriesCollection([2]).Interior.Color = RGB(128, 0, 128) 'magenta 
.SeriesCollection([1]).Interior.Color = RGB(144, 238, 144) 'light green 
End With 

請讓我知道你是否能找到解決這個問題的辦法。

回答

0

你可以修改你的代碼,看看它是否工作?

dim newChart as Chart 

Range("U1:R23").Select 
Set newChart = Charts.Add 

With newChart 
    .ChartType = xlCylinderCol 
    .Name = "mcChart" & Format(now, "hhmmss") 

    'setting other properties 
End With 
+0

這樣做會給我另一個運行時錯誤1004:「無法將工作表重新命名爲另一個工作表,參考對象庫或工作簿參考」。我確信我的工作簿中沒有名爲mcChart的工作表。 –

+1

設置'.Name =「mcChart」&Format(Now,「hhmmss」)'讓我知道它是否失敗。我的猜測是,代碼是添加圖表(當宏運行時),並試圖給每個圖表使用相同的名稱,這可能會失敗。圖表互相重疊,因此您無法看到當前圖表背後的圖表。 – shahkalpesh

+0

此代碼添加圖表*工作表*,它需要唯一的名稱,如任何工作表對象,因此您的懷疑已得到確認。如果工作表名稱已存在,則會引發1004錯誤。 **注意:**普通的'ChartObject.Chart'不需要唯一的名稱。 –