2012-05-17 25 views
0

我已經記錄了這個宏。它用於插入圖表。我如何創建圖表形狀並將其標記爲變量供以後參考?我想將一個變量傳遞給範圍。我只是想改變(52)號碼。所以如果變量是row我怎麼能在下面的代碼中使用它。我想這設置記錄的宏是一個動態代碼

("'Simpson'!$K$3:$L$row") 

但它不工作

ActiveSheet.Shapes.AddChart.Select 
ActiveChart.SetSourceData Source:=Range("'Simpson'!$K$3:$L$52") 
ActiveChart.ChartType = xlXYScatterSmooth 
ActiveChart.ChartTitle.Select 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.ChartTitle.Text = "integrated function chart" 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.Axes(xlValue).Select 
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleHorizontal) 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis) 
ActiveSheet.ChartObjects("Chart 5").Activate 
ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Text = "x values" 
ActiveSheet.ChartObjects("Chart 5""""").Activate 
'How can I delete the legend in one. combining the next two 
ActiveChart.Legend.Select 
Selection.Delete 

回答

0

我想這和它( 「 '辛普森' $ķ$!3:$ L $行」)不工作

試試這個

Dim LRow as Long 

LRow = 52 '<~~ Change this as required. 

ActiveChart.SetSourceData Source:=Range("'Simpson'!$K$3:$L$" & LRow) 
+0

我認爲這會工作,但如何分配日將新圖表添加到變量中,並將所有我們想要應用於該變量的更改引用。 將這項工作'圖表= myDocument.Shapes.AddShape類型:= xlXYScatterSmooth,_ 左:= 50,上方:= 50,寬度:爲100,身高:= 200' –

+0

你的意思是創建從劃痕的圖表和在旅途中更新這些值? –

+0

是的,但我會使用我創建的。我會更新範圍。我試過你的方法,它確實有效。謝謝。 –