2023年2月19日 星期日

VBA:懶人畫圖法 (使用Shapes 物件、AddChart方法、ChartArea與SeriesCollection物件等)

 有多懶,設定資料來源,尺標來源後,就可以畫圖了,就是這樣懶。

1.首先資料長這樣,目標為a與b行


2.設定程式碼:

    X_VALUE、Y_VALUE

               SET  X_VALUE= ActiveSheet.Range("A1:A10") '設定這裡為x軸

                SET  Y_VALUE= ActiveSheet.Range("B1:B10")   '設定這裡為y軸    

3.插入以下CHART_DO的code,例如,作一個按鈕如下。

4.副程式:

SUB CHART_DO()

temp1 ="TEST"

               SET  X_VALUE= ActiveSheet.Range("A1:A10") '設定這裡為x軸

                SET  Y_VALUE= ActiveSheet.Range("B1:B10")   '設定這裡為y軸             

                ymAXAX = Application.Max(Y_VALUE)

                yMINAX = Application.Max(Y_VALUE)

                 ActiveSheet.Shapes.AddChart.Select

                 Set ch = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)                

                 ch.Name = temp1                 

                 If ActiveChart.SeriesCollection.Count > 0 Then

                        ActiveChart.ChartArea.ClearContents                 

                 End If                 

                ActiveChart.SeriesCollection.NewSeries

                ActiveChart.SeriesCollection(1).Values = Y_VALUE

                 ActiveChart.SeriesCollection(1).ChartType = xlLine      '畫折線圖 圖形種類GOOGLE           

                ActiveChart.SeriesCollection(1).Name = temp1                

                ActiveChart.SeriesCollection(1).XValues = X_VALUE


     With ActiveSheet.ChartObjects(ch.Name).Chart.Axes(xlValue)

                         .MinimumScale = yMINAX 

                        .MaximumScale = ymAXAX 

                 End With

END SUB

'缺點,沒有控制位置 哈。

基本上就是先不管資料先新增一張圖,然後清除所有資料後,再來新增要的資料,繪製成圖。



沒有留言:

張貼留言

指數變化(2024.05.17)

指數變化(2024.05.17) 上周焦點:         5/9當周焦點                          事實:fed與非農就業,引起投資市場對降息有加速,但肯定的是,fed說不加息了。                        美國密西根大學信心指數 ...