- 締切済み
VB2005でExcelのグラフのデータ範囲を設定したい
VB2005で既存のExcelのグラフのデータ範囲を設定したいのですが どなたか教えてください。 VB6.0では下記のコードで実現できましたが VB2005ではいろいろ調べたり変更してみたりしたのですが実現できませんでした OSはWindows2000でExcelも2000です Dim ExAp As Excel.Application Dim ExBook As Excel.Workbook Dim ExSheet As Excel.Worksheet On Error GoTo er Set ExAp = CreateObject("Excel.Application") Set ExBook = ExAp.Workbooks.Open("C:\ファイル名.xls") Set ExSheet = ExBook.Worksheets("シート名") ExAp.Visible = True ExSheet.Activate ExSheet.ChartObjects("グラフ 1").Activate With ActiveChart .SeriesCollection(1).XValues = ExSheet.Range("B21:B24") .SeriesCollection(1).Values = ExSheet.Range("C21:C24") End With Exit Sub er: Set ExSheet = Nothing Set ExBook = Nothing Set ExAp = Nothing MsgBox Err.Description
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DreamyCat
- ベストアンサー率56% (295/524)
VB2008にチャレンジしてみました。 下記のようにすればデータ範囲の変更が可能です。 2005でも大丈夫そうな気がします。 (VB6のあと10年間ほどはVB経験が皆無にちかいので VBそのものがまだよくわかっていません。) 時々VBにも触れてみたいと思います。 Dim ExAp As Object 'Excel.Application Dim ExBook As Object ' Excel.Workbook Dim ExSheet As Object ' Excel.Worksheet ExAp = CreateObject("Excel.Application") ExBook = ExAp.Workbooks.Open("C:\test\book11.xlsm") ExSheet = ExBook.Worksheets("sheet1") ExAp.Visible = True ExSheet.Activate() With ExSheet.ChartObjects("グラフ 1").Chart .SetSourceData(Source:=ExSheet.Range("B1:C10")) ' .SeriesCollection(1).XValues = ExSheet.Range("B1:B14").value ' .SeriesCollection(1).Values = ExSheet.Range("C1:C14").value End With ExSheet = Nothing ExBook = Nothing ExAp = Nothing
お礼
ご回答いただきありがとうございます。 私の質問に不足があり申し訳ありません With ExSheet.ChartObjects("グラフ 1").Chart .SetSourceData(Source:=ExSheet.Range("B1:C10")) End With(1).Values = ExSheet.Range("C1:C14").value で値の範囲の設定はできるのですが 項目軸ラベルに使用の範囲設定ができません .SeriesCollection(1).XValues = ExSheet.Range("B1:B14").value←項目軸ラベルに使用の範囲設定 .SeriesCollection(1).Values = ExSheet.Range("C1:C14").value←値の範囲設定 VB6.0で上記の事が出来る様にVB2005で 項目軸ラベルに使用の範囲設定をする方法はないでしょうか? 項目軸ラベルに使用の範囲設定の確認方法は グラフを右クリックして 元のデータ をクリックして 系列タブで確認ができます。(Excel2000の場合)