
現在、本を読みながらVBAの勉強をしているのですが、行き詰ってしまいました。
ChartWizardを用いてグラフの設定を行い、グラフを作成するという趣旨のセクションの練習問題です。本の解答と同じように入力出来ているはずなのですが、マクロを実行しようとすると「指定したディメンションは、このグラフの種類では無効です」とエラーが出てしまいます。
以下、環境とコードとなります。
[環境]
Windows 7 Home Premium
Microsoft Office Excel 2007
[コード]
Set WS = Worksheets("Sheet1")
Set Grp1 = WS.ChartObjects.Add(150, 150, 320, 200)
Grp1.Chart.ChartWizard Source:=WS.Range("A1:F2"), _
Gallery:=xl3DPie, Format:=4, PlotBy:=xlRows, _
CategoryLabels:=1, SeriesLabels:=1, HasLegend:=1, _
Title:="成績", CategoryTitle:="", _
ValueTitle:="", ExtraTitle:=""
また、Titleを文字列ではなくWS.Range("A2")としてセルを参照すると、「オートメーションエラーです」とエラーの内容が変わってしまいます。
本の内容通りに記述をしてもエラーが出てしまい、お手上げの状態です。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
マクロの記録と比較してはどうですか?
マクロの記録で、その本と同じグラフを作成してみましょう。
マクロの記録は盲点でした…! さっそく試して参りましたが、そも現行のExcelではグラフウィザードが廃止されていたのですね。本が古すぎたようです…
マクロの記録では.AddChartメソッドとなりました。.ChartWizardメソッドをマクロの記録で再現するのはもう難しいのでしょうか?
素直に.AddChartメソッドや.Addメソッドで再現を試みたところ上手くいきました。
素早い回答ありがとうございます、参考になりました!
No.2
- 回答日時:
次の命令で問題なく表示されると思います。
Grp1.Chart.ChartWizard Source:=ws.Range("A1:F2"), _
Gallery:=xl3DPie, Format:=4, PlotBy:=xlRows, _
CategoryLabels:=1, SeriesLabels:=1, HasLegend:=1, _
Title:=ws.Range("A2")
【説明】
細かく調べてはいませんが、円グラフ(xl3DPie)には次の3つのプロパティは必要がない(指定してはいけない)と思われます。
◆CategoryTitle … 項目軸のタイトル
◆ValueTitle … 数値軸のタイトル
◆ExtraTitle … 3-D グラフの系列軸のタイトル、または 2-D グラフの第 2 数値軸のタイトル
ご確認ください。
回答者様のコードで無事にエラーを出さずグラフの作成が出来ました!
グラフの種類によって指定してはいけないプロパティがあるのですね…勉強になりました。これからはそういった部分にも目を向けて調べていこうと思います。
回答、ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
-
ピンとくる人とこない人の違いは?直感を鍛える方法を心理コンサルタントに聞いた!
根拠はないがなんとなくそう感じる……。そんな「直感がした」という経験がある人は少なくないだろう。ただ直感は目には見えず、具体的な説明が難しいこともあるため、その正体は理解しにくい。「教えて!goo」にも「...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
VBA[Private Sub]のコードをシ...
-
ファイル名を今日の日付、時刻...
-
cellsで特定の離れた範囲を選択...
-
VBAでのオートシェイプの整列機...
-
最初の1回のみにボタンクリッ...
-
Powerpointでランダムな数字の...
-
どのドキュメントは暗号化され...
-
エクセルのマクロでSelection.S...
-
VBAを使ってエクセルシート...
-
エクセルのマクロのボタンで他...
-
ピボットグラフの書式の固定に...
-
VBAでシートの保護をかける際に...
-
VBからPowerPointのマクロを実...
-
ExcelのVBAでWordの書式を変更...
-
"Google検索結果の10位の下に...
-
【ExcelVBA】クエリの更新とピ...
-
Excelのラジオボタンにチェック...
-
エクセル2007 テキストボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
cellsで特定の離れた範囲を選択...
-
ファイル名を今日の日付、時刻...
-
最初の1回のみにボタンクリッ...
-
VBA[Private Sub]のコードをシ...
-
どのドキュメントは暗号化され...
-
Powerpointでランダムな数字の...
-
ピボットグラフの書式の固定に...
-
エクセルVBAで、画像の倍率を知...
-
【ExcelVBA】クエリの更新とピ...
-
別ブックからユーザーフォーム...
-
VBAを使ってエクセルシート...
-
エクセルのマクロでSelection.S...
-
Pictures.Insertメソッド⇒Shape...
-
wordのマクロで縮小して貼り付...
-
EXCELにクリップボードにある画...
-
【VC++6.0(MFC)】コメントを一...
-
Excelのマクロで最下行を選択し...
-
VBA ChartWizardで円グラフが書...
おすすめ情報
追記となりますのでベストアンサーは最初の回答者の方とさせていただきますが、よろしければ次の疑問についてもお答えいただけると幸いです。
上記のコードですが、グラフの種類をxl3DBarやxl3DColumnにするとエラーを出さずにグラフの作成を行うことが出来ました。どうしてこの2種類だと問題なく実行できて、円グラフ(xl3DPie)にするとエラーとなるのかがわからずにもやもやしています。最初の本文のとおり何が間違っているのかわからずお手上げの状態です。よろしくお願いいたします。