VBAにてグラフ作成をしています。
現在Office365にて作成していますが、Office2016でも使えるようにしたいです。
VBAの内容としては、データファイルを開き、2種類のグラフ(散布図・ヒストグラム)を
作成中です。
今ヒストグラムで下記画像のようなグラフにしたくマクロ記録を参考に下記コードを実行させましたが
エラーはしませんがヒストグラムに反映いたしません。
また表示形式の小数点以下桁数を1桁にしたいのですがマクロ記録で出てきません。
そもそもVBAでは対応できないのでしょうか?
ご教示お願いいたします。
説明不足でしたら補足いたします。
よろしくお願いします。
ActiveSheet.ChartObjects("グラフ 2").Activate
ActiveSheet.Axes(xlCategory).Select
ActiveSheet.ChartGroups(1).BinsType = xlBinsTypeBinCount
ActiveSheet.ChartGroups(1).BinsCountValue = 11
ActiveSheet.ChartGroups(1).BinsOverflowEnabled = True
ActiveSheet.ChartGroups(1).BinsOverflowValue = 0
No.3ベストアンサー
- 回答日時:
No.1です。
No.2の返信欄に記載されたコードの1~3行目(桁数変更)を最下部に移動させたらどうでしょうか?
4行目以降は質問者さんが作成されたものなので、成功実績がありうまくいくかと思います。
※こちらではグラフの種類が違うためか、エラーになってしまい確認できていません。
googoo900さん
ご回答ありがとうございます。
Oiffce 365で下記のように修正しました。
しかし少数点しか反映しませんでした。
まだExcel2016で実施していないので、一度確認してみます。
献身的に教示いただきありがとうございます。
修正コード
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartGroups(1).BinsType = xlBinsTypeBinCount
ActiveChart.ChartGroups(1).BinsCountValue = 11
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartGroups(1).BinsOverflowEnabled = True
ActiveChart.ChartGroups(1).BinsOverflowValue = 2
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartGroups(1).BinsUnderflowEnabled = True
ActiveChart.ChartGroups(1).BinsUnderflowValue = 0
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
Selection.TickLabels.NumberFormatLocal = "0.0_ "
No.4
- 回答日時:
こんばんは、
現在も、ヒストグラムチャートについてExcel2016VBAは、完全にフォローしていない可能性が高いです。
>上記をマクロ記録しことをVBAで実行したのですが、エラーしませんがグラフに反映されません。
>またX軸の表示形式がマクロ記録されません。
同様の事象は、対応していないのが原因の可能性があります。
しかし、すでに(または、次の年次)Excel2016のアップデートで対応されているかも知れません。(期待は出来ません)
Excel組み込みのヒストグラムは、動的なソースデータにはあまり適していないと思いますし
Excel2016ヒストグラムについては、不具合もあるようなので、
VBAでビンを生成し、データを数式(またはVBA)で集計してから、
標準の縦棒グラフをプロットする方法などを検討した方が良いかも知れません。
また、Excel2016以降のExcelでないと検証も出来ないので、難しいです。
MSの専門的なサイトへあげて見るのは、いかがでしょう。
https://social.msdn.microsoft.com/Forums/ja-JP/h …
Qchan1962さん
ご回答ありがとうございます。
ヒストグラムはExcel組み込みでは適していないのですね。
VBAの知見がなく色々勉強なりました。
自分のできる範囲で、引き続き進めていきます。
ありがとうございます。
No.2
- 回答日時:
NO.1です。
>3行目以下がエラーになりませんがグラフに反映されません。
1~2行目をもう一度繰り返してはいかがでしょうか?
具体的には、『1~2行目をコピーして、binsが記述されている行の上に貼り付ける』です。
あまり美しくありませんが、暫定対応ということで。
googoo900さん
回答ありがとうございます。
下記のように実施しましたが、少数点しか反映されませんでした。
Binsのコードに間違いがあるのでしょうか?
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
Selection.TickLabels.NumberFormatLocal = "0.0_ "
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartGroups(1).BinsType = xlBinsTypeBinCount
ActiveChart.ChartGroups(1).BinsCountValue = 11
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartGroups(1).BinsOverflowEnabled = True
ActiveChart.ChartGroups(1).BinsOverflowValue = 2
ActiveSheet.ChartObjects("?O???t 2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartGroups(1).BinsUnderflowEnabled = True
ActiveChart.ChartGroups(1).BinsUnderflowValue = 0
No.1
- 回答日時:
質問文のマクロに対して、以下のようにしてみてください。
2行目を修正 ActiveChart.Axes(xlCategory).Select
3行目に追加 Selection.TickLabels.NumberFormatLocal = "0.0_ "
googoo900さん
ご教示ありがとうございます。
Selection.TickLabels.NumberFormatLocal = "0.0_ " を追加したら、表示形式の小数点以下桁数を
1桁にできました。
しかし3行目以下がエラーになりませんがグラフに反映されません。
コードに問題点があるのでしょうか?
記載コード
ActiveSheet.ChartObjects("グラフ 2").Activate
ActiveSheet.Axes(xlCategory).Select
Selection.TickLabels.NumberFormatLocal = "0.0_ "
ActiveChart.ChartGroups(1).BinsType = xlBinsTypeBinCount
ActiveChart.ChartGroups(1).BinsCountValue = 11
ActiveChart.ChartGroups(1).BinsOverflowEnabled = True
ActiveChart.ChartGroups(1).BinsOverflowValue = 2
ActiveChart.ChartGroups(1).BinsUnderflowEnabled = True
ActiveChart.ChartGroups(1).BinsUnderflowValue = 0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) エクセル ヒストグラム作成 1 2023/01/02 09:55
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Excel(エクセル) Excel 散布図グラフ 外れ値 セル番地参照方法 4 2022/04/19 18:56
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
3分あったら何をしますか?
カップ麺にお湯を入れて、できるまでの3分間で皆さんは何をしていますか?
-
2024年に成し遂げたこと
今年も残すところわずか。 皆さんが今年達成したことを教えていただきたいです。 どんな小さなものでも構いません。
-
集合写真、どこに映る?
あなたが集合写真を撮られるとき、画角のどのあたりにいることが多いですか? 私は振り返ってみると右の端にいることが多い気がします。
-
我がまちの「給食」自慢を聞かせてっ!
富山県の給食には「ベニズワイガニ」が出る、、、なんて話を聞いたことがあります。 日本全国「え、給食にそれ出るの!?」な驚きメニューがまだまだあるはず!
-
VBAを用いて条件付きの平均値、標準偏差を求めたいです(Ecxel 2016使用)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
EXCELでグラフを作るとき、縦軸...
-
Excel:別シートにグラフを貼り...
-
エクセルで折れ線と散布図を同...
-
座標ポイントによるグラフの描き方
-
Excelでx軸とy軸を設定して図を...
-
エクセルで折れ線グラフ(散布...
-
散布図を縦に2個並べて出力したい
-
Excelの横棒グラフのプロットエ...
-
エクセル グラフはあるけれど...
-
エクセルの円を5等分する方法
-
エクセルのグラフの1点の色を変...
-
エクセルグラフの項目名を折り...
-
エクセルで、極座表のグラフ描...
-
エクセルで別のシートにグラフ...
-
Excelでx,y軸両方数値軸のグラ...
-
エクセルの縦軸(Y軸)が不均等...
-
EXCELで白黒グラフが見やすくな...
-
2019エクセル折れ線グラフで、Y...
-
エクセル グラフの”データーテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
Excel:別シートにグラフを貼り...
-
EXCELでグラフを作るとき、縦軸...
-
エクセルで折れ線と散布図を同...
-
Excelでx軸とy軸を設定して図を...
-
エクセルの縦軸(Y軸)が不均等...
-
エクセルで折れ線グラフ(散布...
-
散布図を縦に2個並べて出力したい
-
エクセル グラフはあるけれど...
-
エクセルのグラフの1点の色を変...
-
エクセルの対数グラフのエラー
-
エクセルで、極座表のグラフ描...
-
エクセルの円を5等分する方法
-
エクセル グラフの”データーテ...
-
エクセル 0や空白のセルをグラ...
-
ワードの差し込みにて、値をグ...
-
Excelグラフの有効数字の統一が...
-
ExcelでIF関数によるグラフの表...
-
<EXCELグラフ>データ取得範囲...
-
ExcelのグラフをPowerPointに貼...
おすすめ情報
画像がわかりにくいので、補足いたします。
ヒストグラムのX軸の書式設定
軸オプション
・ビンの数 11
・ビンのオーバーフロー 2.0
・ビンのアンダーフロー 0
表示形式
・数値
・小数点以下の桁数 1
上記をマクロ記録しことをVBAで実行したのですが、エラーしませんがグラフに反映されません。
またX軸の表示形式がマクロ記録されません。
googoo900さん
昨日今VBAを使用する環境(Oiffce2016)にて試し、
下記のコードにてヒストグラムを仕様通り作成することができました。
ご教示本当ありがとうございました。
ActiveSheet.ChartObjects("グラフ2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).TickLabels.NumberFormatLocal = "0.0"