2013-09-01 109 views
0

我是Excel vba編程中的學習者。無法通過VBA代碼刪除或重命名圖表的標題名稱

我已經寫了一個代碼,在excel VBA中創建成功創建圖表。 但是,圖表的標題名稱僅創建一次,無法刪除或更改圖表中的標題名稱。 代碼將在調試模式下

ActiveChart.ChartTitle.Delete 

因此停止,需要在下面的代碼

Sub chart() 
Dim chtquarters As ChartObject 
Set chtquarters = ActiveSheet.ChartObjects.Add _ 
(Left:=240, Width:=360, Top:=50, Height:=288) 

chtquarters.chart.SetSourceData Source:=Range("A3:B7") 
chtquarters.chart.ChartType = xlPie 
ActiveSheet.ChartObjects(1).Activate 


ActiveChart.ChartTitle.Delete 

With ActiveChart.Legend 

    .LegendEntries(1).LegendKey.Interior.Color = vbYellow 
    .LegendEntries(2).LegendKey.Interior.Color = vbCyan 
    .LegendEntries(3).LegendKey.Interior.Color = vbRed 
    .LegendEntries(4).LegendKey.Interior.Color = vbGreen 


ActiveChart.SeriesCollection(1).ApplyDataLabels 
ActiveChart.SetElement (msoElementChartTitleCenteredOverlay) 

ActiveChart.ChartTitle.Text = "Quarterly Sales" 


ActiveChart.Legend.Select 


With Selection.Font 
    .Name = "Arial" 
    .FontStyle = "Bold" 
    .Size = "14" 

Range("A1").Select 

End With 

End With 

End Sub 
+0

你想達到什麼目的?在您的代碼中,您試圖在實際給予圖表標題(即「季度銷售額」)之前刪除圖表標題。 –

+0

閱讀此:http://social.msdn.microsoft.com/Forums/en-US/5e912389-f86c-449b-a359-c033e182bc26/setting-chart-title-through-vba-sometimes-works-sometimes-doesnt – 2013-09-01 10:20:06

+0

您好亞歷克斯P和馬克感謝您閱讀我的文章,我會清除你對我的帖子的懷疑。我試圖創建一個餅圖代碼鏈接到一個按鈕,一旦點擊它將顯示圖表標題名稱「季度銷售」在帶有餅圖的代碼中提到,但是如果再次單擊該按鈕,它不會將標題的名稱更改爲「季度銷售」,而是會爲銷售數字指定名稱,以顯示圖表中的銷售數字,請在這個問題上給你建議。? – lifeinvba

回答

0

你的幫助,你已經刪除圖表標題後,之前圖表的HasTitle屬性設置爲True分配新文本,如

With Worksheets("sheet1").ChartObjects(1).Chart 
    .HasTitle = True 
    .ChartTitle.Text = "February Sales" 
End With 
+0

我剛剛添加了代碼ActiveSheet.ChartObjects.Delete,它將刪除chartobject並更換新圖表..我解決了我的問題,非常感謝您的所有建議並提供建議:-) – lifeinvba