2021年5月3日 星期一

VBA:插入圖檔入門篇



如何插入圖檔??

1.用到的物件為 ChartObjects物件

掌握要領:圖的種類、資料來源、圖的位置、X軸與Y軸、圖名

2.透過ADD方法插入圖

ChartObjects.Add(Left, Top, Width, Height)

Left, Top, Width, Height:分別為左、右、寬、高等距離與尺寸控制。

3.圖的種類設定:

ChartObjects. ChartType =???參考MSDS有那些設定,於空白EXCEL做圖新增時,通常第一張圖預設名稱為 Chart1,然後以此類推。

        With Worksheets(1).ChartObjects(1).Chart 

     If .ChartType = xlBubble '這裡作一個判斷,如果是泡泡圖就把尺規改成200

          Then .ChartGroups(1).BubbleScale = 200 

     End If

End With 

以下來看看如何設定"類別座標軸"中的標籤:

4.坐標軸設定:ChartObjects. Axes (Type, AxisGroup)MSDN

於 Chart1 的類別座標軸中新增座標軸標籤

With Charts("Chart1").Axes(xlCategory) 

   .HasTitle = True .AxisTitle.Text = "July Sales" 

End With

另外一個完整的例子: 畫一個散佈圖,並以行作畫圖依據

以下CODE內容,要自己作一個按鈕放進去歐,資料預設為A到B行歐。

N =  Application.CountA(Sheets("Sheet1").Range("A:A"))  取得有資料的最後一列位置

X = "數據序列X"

Y = "數據序列X"

 Set myRange = Sheets("Sheet1").Range("A" & 1 & ":B" & N)

 Set myChart = Sheets("Sheet1").ChartObjects.Add(100, 30, 400, 250)

With myChart.Chart

    .ChartType = xlXYScatterSmooth

      .SetSourceData Source:=myRange, PlotBy:=xlColumns 'PlotBy以行作畫圖依據

        .Axes(xlCategory, xlPrimary).HasTitle = True '開啟標籤

        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = X '類別標籤

        .Axes(xlValue, xlPrimary).HasTitle = True

        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = Y  '資料標籤

End With

 Set myRange = Nothing   '釋放物件                                            

 Set myChart = Nothing    '釋放物件                                          


沒有留言:

張貼留言

我的雷達:2024/11/15

  似乎有一種不安的味道