Excel VBAチャートグラフの項目追加方法と並び替え方法

このQ&Aのポイント
  • ExcelのVBAを使用して、塗りつぶしレーダーチャートに空の項目を追加する方法と、グラフのタイトルを参考にして項目を並び替える方法を解説します。
  • ExcelのVBAを使えば、塗りつぶしレーダーチャートに数値が入っていない項目でも表示することができます。また、グラフのタイトルを利用して項目を並び替えることも可能です。
  • Excel 2003を使用している場合でも、VBAを利用することで塗りつぶしレーダーチャートの項目追加や並び替えが可能です。この記事では具体的な手順を紹介しています。
回答を見る
  • ベストアンサー

Excel VBA チャートグラフの項目追加

いつも大変お世話になっております。 塗りつぶしレーダーチャートを自動で作成しています。 http://okwave.jp/qa/q8339279.html 回答いただいたマクロを参考に作成しております。 そのグラフの並び替えと、 項目数が少ないものに空の項目を足す 方法があれば、教えてください。 画像のように、チャート項目が1つの場合、 数値が入っていても見ることができません。 そのため、空の項目を追加したいと思っています(Excel上には書き加えたくありません) また、レーダーチャートの並び替えですが、 グラフのタイトルを参考に再配置をしたいのです。 グラフのタイトルに”北海道”と入っていたら 順番に並べ、 その後"青森"と入っているものを検索し 順番に並べ・・・ という感じにしていきたいです。 Excelは2003を使用しております。 回答よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

前半だけ回答いたします。 後半は内容が全く異なるので、別の質問を立てる事をお勧めします。 なかなか我が儘なオーダーですが、無理矢理やってみました。当方xl2010です。 3項目に合わせるコードです。 Sub test() Dim myChartObject As ChartObject For Each myChartObject In ActiveSheet.ChartObjects subtest myChartObject Next myChartObject End Sub Sub subtest(myChartObject As ChartObject) Dim myChart As Chart Dim mySeries As Series Dim bufX() As Variant, bufY() As Variant Dim i As Long, pointCount As Long Set myChart = myChartObject.Chart Set mySeries = myChart.SeriesCollection(1) pointCount = mySeries.Points.Count Select Case pointCount Case 1 ReDim bufX(1 To 3) ReDim bufY(1 To 3) For i = 1 To pointCount bufX(i) = mySeries.XValues(i) bufY(i) = mySeries.Values(i) Next i bufX(2) = "B" bufY(2) = 0 bufX(3) = "C" bufY(3) = 0 Case 2 ReDim bufX(1 To 3) ReDim bufY(1 To 3) For i = 1 To pointCount bufX(i) = mySeries.XValues(i) bufY(i) = mySeries.Values(i) Next i bufX(3) = "C" bufY(3) = 0 Case Else Exit Sub End Select mySeries.XValues = bufX mySeries.Values = bufY End Sub

satoron666
質問者

お礼

回答ありがとうございます! グラフのデータ抽出のところから変更しようと思い 色々value2とか見てどうすればいいのか考えていたのですが どう試しても上手くいかず困っていました。 実行してみたところ、 思ったとおりのデータになりました! 本当にありがとうございました!

関連するQ&A

  • レーダーチャートの並び替え

    いつも大変お世話になっております。 レーダーチャートを大量(100個以上)自動作成しており、 その並び替えをしたいと考えております。 レーダーチャートを並び替える方法として、 タイトルに「札幌」「埼玉」などが含まれているか その順番で一列になるように設定していきたいと思います。 D列に、並べたい項目を記入してあります。   D 1 北海道 2 青森 3 仙台 4 秋田 5  ・ 6  ・ 7  ・ 上記の順番で並べ替えをしたいです。 上の例だと、 北海道を含むグラフタイトル  青森を含むグラフタイトル  仙台を含むグラフタイトル  秋田を含むグラフタイトル 北海道を含むグラフタイトル  青森が含まれるグラフタイトル  仙台が含まれるグラフタイトル  秋田グラフタイトル のように並び替えをしたいです。 何か方法はあるでしょうか? 回答よろしくお願い致します。

  • エクセル2003でレーダーチャートグラフを作成しました。

    エクセル2003でレーダーチャートグラフを作成しました。 項目軸ラベルを誤って削除してしまいました。 最初から作り直せばよいのですが、項目軸ラベルを再表示させる方法ってあるのでしょうか? いろいろ調べてみたのですが、どうしても見つかりません。 お知恵をお貸しください。

  • エクセルのレーダーチャートの作り方

    エクセルでレーダーチャートのグラフを作成しようとしました。 表をレーダーチャートにした際は,問題無くグラフになったのですが, 表をテーブルにした後に,レーダーチャートでグラフにした際に,グラフが表示されませんでした。(範囲に戻してからは,グラフになりました) テーブルをレーダーチャートにする事は出来ませんでしょうか?

  • エクセルのレーダーチャートの目盛り

    財務諸表のレーダーチャートをエクセルで作ろうとしています。 しかし、単位や数が余りにも違いすぎるため(例えば回転率は2.1回、販管費は35%等)グラフが変になってしまいます。(同じ目盛り単位ですべての項目を作ろうとする。) レーダーチャートの目盛り軸を1本1本単位を変えることはできるのでしょうか?(例えば棒グラフであれば2軸使えますが、同様のことがレーダーチャートでできるのかどうか) 質問がややこしくてごめんなさい。解らないことは補足で埋めていきたいと考えています。宜しくお願いいたします。

  • エクセルでレーダーチャートを作成のとき

    エクセルでレーダーチャートを作成しています。 凡例の数が多い為、出来上がったグラフが見にくいです。 見やすくする方法はないでしょうか。 自分で考えているのは、マーカーが付いたレーダーチャートと 塗りつぶしのレーダーチャートを組み合わせて作成したいと思いました。 (例:本社と支店のデータがあり本社を塗りつぶしに、支店をマーカー付き もしくは塗りつぶしなしで表示。としたい。) 作成してみましたが、全部塗りつぶしか全部マーカー付きかしか出来ません。 組み合わせて作ることは可能でしょうか?

  • エクセルで作ったグラフの項目の並び順を好きな順番に変えたい

    エクセル2003を使っているのですが、グラフウィザードで作成したグラフの項目を、作成した後に、簡単にグラフ上で、 自分の好きな順番に並べ替えることはできますでしょうか? それともやはり、元々のデータの表を並べ替えるしかないでしょうか?

  • アクセスでグラフをうまく作成できない

    アクセス2000を使用しております。 フォームに「挿入」→「グラフウィザード」でまずはグラフを作成しました。 しかし、私はレーダーチャートを作成したいので、グラフをレーダーチャートに変換しました。 変換したレーダーチャートですが、いくつかのフォーム上の項目がレーダーチャートと連動しないのです。 グラフのオプションを開くと、それらしきY軸やX軸の場所が灰色で入力できないようになっています。ここを入力すればうまく作成できると思うのですが・・・。 状況をうまく説明できているか心配ですが、いろいろやってみますのでご教授ください。

  • エクセル2010 レーダーチャートグラフの作成

    レーダーチャートを作りました。 背景をそれぞれ色分けしたいのですが不可能でしょうか(円グラフのような感じ)。 もしくはそれぞれの項目ラベルを任意の色に分けたいのですが、全部変わってしまいます。 また、項目ラベルが自分で好きな位置に移動できないのですが、もともと動かせないのでしょうか。 説明がうまくできなくてすいません。

  • レーダーチャートの切り替え

    エクセルを使ってレーダーチャートを作成したのですが 凡例が50以上あり、重なってしまってとても見れるグラフではありません。 データが     A  B  C  D  E  あ  2  2  3  2  5  い  1  4  2  5  1  う  4  2  4  3  2  え  2  5  1  2  1  :  :  :  :  :  : このようにある場合、「あ」だけのレーダーチャート、「え」だけのレーダーチャート といったように切り替えて表示させることは可能でしょうか? 可能でしたらやり方も教えていただけるとありがたいです。

  • エクセルでスケジュール管理のチャートを作成しています。

    エクセルでスケジュール管理のチャートを作成しています。 1つの項目(案件名)に6行割り当て予定と実績に3行づつ使用しています。セルの結合は使用していません。 ここで、案件名ごとに(6行単位)並び替えをしたいのですがどのようVBAのマクロで行えばよいのでしょうか? 1.完成予定で並び替え:D列の完成予定の計画より、予定日の早いものから項目1から項目12までを並び替える。 2.担当者で並び替え:E列の担当者別に項目1から項目12までを並び替える。 よろしくお願いします

専門家に質問してみよう