既存のエクセルデータのグラフの範囲の変更をVBですることを考えています。
1シート目にグラフデータ、2シート目にデータが設定されています。
そこで下記のように記述しました。
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim MyChart As ChartObject
' 変数にオブジェクトの参照を代入します。Add メソッドを使って
' 新規 workbookとworksheet オブジェクトを作成します。
Set xlApp = CreateObject(Excel.Application)
'エクセルを表示します。(表示しなくてもOK)
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open(c:\temp\temp\book2.xls)
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Activate
Set MyChart = xlSheet.ChartObjects([0]) ここでエラー
MyChart.SetSourceData Sheets(Sheet2).Range(Cells(3, 3), Cells(4, 4)),
xlColumns
すると、チャートオブジェクトを指定するところでエラーとなります。
エクセルの操作は初めてなのですが、ご存知の方お願いします。
下記で解決しました
Set xlBook = xlApp.Workbooks.Open(c:\temp\temp\book3.xls)
Set xlSheet = xlBook.Worksheets(1)
Set xlSheet2 = xlBook.Worksheets(2)
xlSheet.Activate
Set MyChart = xlSheet.ChartObjects(1)
MyChart.Activate
Set データ範囲 = xlSheet2.Range($B$4:$C$9)
MyChart.Chart.SetSourceData Source:=データ範囲