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
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
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の場合)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
VBA 実行時エラー1004 rangeメ...
-
Unionでの他のシートの参照につ...
-
VBA 別ブックからの転記の高速...
-
グラフマクロで系列を変数にす...
-
【VBA】特定の条件でセルをコピー
-
複数シートの複数列に入力され...
-
エクセル VBA 時系列に横一列に...
-
ExcelのVBマクロを、バックグラ...
-
VBAで変数の数/変数名を動的に...
-
100万件越えCSVから条件を満た...
-
VBAでEXCELから固定長...
-
Excel VBA オートフィルターで...
-
Consolidateの範囲
-
Count Ifのセルの範囲指定に変...
-
Excel VBA
-
VBAのグラフに違うシートの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
マクロ実行後に別シートの残像...
-
Count Ifのセルの範囲指定に変...
-
VBA 別ブックからの転記の高速...
-
VBA別シートの最終行の次行へ転...
-
Changeイベントで複数セルへの...
-
複数シートの複数列に入力され...
-
ExcelのVBマクロを、バックグラ...
-
VBA 実行時エラー1004 rangeメ...
-
楽天RSSからエクセルVBAを使用...
-
【VBA】特定の条件でセルをコピー
-
100万件越えCSVから条件を満た...
-
Excel2013で切り取り禁止
-
VBAで変数の数/変数名を動的に...
-
アクセスからエクセルへ出力時...
-
Unionでの他のシートの参照につ...
-
グラフマクロで系列を変数にす...
-
Excel VBA オートフィルターで...
おすすめ情報