• ベストアンサー

EXCEL2010 VBA グラフの系列の追加

EXCEL2010でVBAを使用してグラフを作成しています。 系列の追加まではできているのですが系列名が系列と離れているのでどのように設定しようか悩んでいます。 A1:系列名  A3からA10:系列に使用するデータ というような感じです。 通常は系列名とデータが連なっているのでまとめて範囲選択すればよいと思うのですが。。。 系列名と系列に使用するデータが離れていた場合はどのようなコードにすればよいのでしょうか? どなたかご教示お願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

チャートオブジェクト.SeriesCollection(変更したい系列の番号たとえば1).name = worksheets("シート名").range("A1") などのように。

Not_Pro
質問者

お礼

度々助けていただきとても助かります。 ありがとうございます。

関連するQ&A

  • EXCEL2010 VBA グラフの作成

    EXCEL2010のVBAで自動でグラフを作成するコードを作成したいと思っています。 シート1のA1:A10にデータが入っていて、ボタンを押すとコードが実行されて A1:A5までが系列1 A6:A10までが系列2 として表示される折れ線グラフを作成しようと思っています。 さらに作成したグラフは新規にシートを作成して作成したシートに表示させたいと思います。 このような処理を行いたいのですがVBAを始めたばかりなのでグラフの作成くらいしかまだ 分かっていません。 どなたかこの処理を実現できる良い方法を教えてください。よろしくお願いします。

  • EXCEL2010 VBA 複数の条件のグラフ

    EXCEL2010のVBAでグラフを作成するコードを作成しています。 そのグラフでは指定した値で系列の数が変わります。 初期設定シートで指定値1と2を確認して指定値1が系列の数、指定値2がデータ範囲となります。 データ範囲はB列のB1から指定値2の数だけ下に増えます。 Sheet1にグラフを新規作成します。 (例) 指定値(A1):1の時 指定値(A2):20 グラフに表示される系列:(B1:B20) (例2) 指定値(A1):2の時 指定値(A2):20 グラフに表示される系列:(B1:B20)と(B21:B40) 説明が分かり辛いかもしれませんがよろしくお願いします。

  • グラフの系列値が勝手に書き換わってしまいます。

    質問を見て頂きありがとうございます。 環境はOS:Windows7、Excel:2007を使用しています。 現在、グラフを表示する「Graph」シートと グラフに使用するデータを格納する「Data」シート(※1)を作成し グラフの系列値の範囲を可変にしたグラフを作成しようとしています。 系列値の範囲を可変にするため、「Data」シートに定義名:項目1(※2)を作成し、 グラフの系列値に「=Data!項目1」と設定しています。 エクセルを閉じる前はこちらの想定通りの動作になっているのですが、 エクセルを閉じて再度開くとグラフの系列値が「=[0]!項目1」と 自動で書き換わってしまいます。 系列値が「=[0]!項目1」に代わってしまうと定義名:項目1の参照範囲のセルに 値を入力しても「Graph」シートのグラフに反映されなくなります。 この現象を回避する方法があれば教えて頂けないでしょうか。 よろしくお願いします。 (※1) 「Data」シートのC5~C1000に系列値が入力されます。 系列値はC5~C1000までに1~n個入力されることを想定しています。 (※2) 定義名:項目1の参照範囲は以下のように設定しています。 =OFFSET(Data!$C$5,0,0,COUNTA(Data!$C$5:$C$1000),1)

  • excel2007のグラフ追加

    Windows7でexcel2007を使用しています。 グラフのの横軸に年月(10/12)、縦軸に数値(0.009)を入れています。 このグラフに年月(11/06)、数値(0.006)を追加したいのですが、上手く出来ません。 今までは「元のデータ表」から系列タブで追加していましたが、元のデータが出てきません。 上手く追加するにはどうすればいいのでしょうか? どうかよろしくお願いします。

  • EXCEL2007 <VBAで散布図の系列の追加>

    EXCEL2007 <VBAで散布図の系列の追加> 標記の通り、VBAで散布図に新たに系列を追加したいのです。 たとえば現在、系列1があるとします。 そこで、横軸がA1:A10、縦軸がB1:B10のデータを追加するとします。     ActiveChart.SeriesCollection.Add Range("A1:B10") しかし、このマクロだと縦軸がA1:A10の系列2と縦軸がB1:B10の系列3ができてしまします。 そこで、ためしに     ActiveChart.SeriesCollection.Add Range("A1")   '仮に作る     With ActiveChart.SeriesCollection(2)       .XValues = Range("A1:A10")       .Values = Range("B1:B10")     End With とすると、「実行時エラー'1004'; アプリケーション定義またはオブジェクト定義のエラーです。」となります。 いろいろ検索したのですが、これと言ったのがみつかりません。 意図するマクロはどのようなものになるのでしょうか。 ご教示お願いします。

  • Excel2003 グラフの系列名が消えました。

    Excel2003でグラフを作成中です。散布図を作っています。 系列数は21個あります。グラフ上にはデータラベルとして系列名を表示させています。 系列数が21個もあるため、マーカーも21種類になり見づらくなります。そこで、マーカーをあらかじめ業種別に決めた形に変更し、マーカーの数を数種類に減らし、見やすくしました。 なお、「業種別」というのは、今回のデータが建設業関係の複数の会社のものなので、各社を「土木」「建築」などに分類するという意味です。 また、マーカーの変更とは、マーカーのスタイル、前景、背景、サイズを変更し、業種別に統一するという意味です。 以上の作業の結果、グラフ上には数種類のマーカーが合計21個散布され、各マーカーには系列名(会社名)が表示されました。 ここまではよかったのですが、このエクセルを保存し、閉じて、再度開くと、マーカーを変更したところの系列名が消えています。変更した全部の系列名とは限りませんが、消えているのです。 試行錯誤の結果、「グラフのオプション」「データラベル」「ラベルの内容」の「系列名」には当然チェックが入ったままなのですが、このチェックをいったん外し「OK」した上で再度チェックを入れると、系列名はすべて表示されるようになりました。変ですよね。 もう一つ困ったことがあります。21個のデータには似たような数値があるため、グラフ上で系列名が重なってしまい、見づらくなります。ですから、グラフ上から系列名の部分を少しずらして見やすくしました。ところが、先述のように、保存してエクセルを閉じて再度開くと系列名が消えるので、「グラフのオプション」「データラベル」「ラベルの内容」「系列名」のチェックをいったん外して「OK」し再度チェックを入れると、ずらす前の位置に系列名が表示されてしまうのです。 これらの症状を何とか解消したいのです。よろしくご教示ください。

  • グラフの系列追加の時のデータ選択方法について

    グラフの系列追加の際、X軸とY軸のデータ範囲を選択しますが、 その時、0から100までの連続データを選択するとします。 今まで、0を選択し、Ctrl+Shift+↓で一括選択していたのですが EXCEL97からEXCEL2003にバージョンアップしてから急にできなく なっていまいました。 どうすればいいでしょうか? 回答よろしくお願いします。

  • EXCEL VBA グラフの項目ラベルの追加

    EXCEL2010でVBAを使用してグラフを作成しています。 グラフを作成するまではできたのですが、数値軸・項目軸のラベルが表示されません。 項目軸・数値軸ラベルには直接指定した文字を入力したいと思っています。 どのようなコードを使用するのかわかりません。 どなたかご教示お願いします。

  • 「系列の追加」以外でのグラフ化を行いたい

    X軸共通で凡例のYの条件がどんどん増えていく 下記のような表のグラフ化(散布図)を行う必要があります。 X 0.4 0.3 1.2 1.4 A1 1.2 1.4 1.5 1.6 A2 2.1 2.4 2.5 2.5 A3 2.2 2.4 2.5 2.7 ここで、X軸は1行目共通で、Y軸にA1、A2、A3をそれぞれ とっていくのですが、一気にグラフ化する方法はありますか? 現状、『元のデータ』⇒ 『系列の追加』⇒ Xの値、Yの値をそれぞれ 追加する方法でA1、A2、A3とグラフを作成しており、かなり時間 と手間をかけています。 エクセルのグラフは、簡便化のため、行、列のコピーペーストで 系列の追加が行えるとのことですが、今回のような場合、 (例えば)A3列をコピーして、グラフ上で ペーストすると、X軸が1行目ではなくなっており、 グラフ上でX軸の修正をする必要が出てきます。 そこで、軸を固定にして項目の追加を行う方法を ご存知でしたら教えていただきたいです。 以上、宜しくお願い致します。

  • VBAのグラフに違うシートの系列の追加について??

    VBAでグラフに新たな系列を追加しようと思い 以下のプログラムを書きました。 しかしながら、 . Valuesの値の指定の場所でエラーが発生しました。 また、 .XValues = Sheets(シート名(o)).Range(Cells(2, 1), Cells(行の数 + 1, 1)) .Values = Sheets(シート名(o)).Range(Cells(2, p + 1), Cells(行の数 + 1, p + 1)) を .XValues = Range(Cells(2, 1), Cells(行の数 + 1, 1)) .Values = Range(Cells(2, p + 1), Cells(行の数 + 1, p + 1)) に直すとうまくいきました。 別のシートの値をグラフに設定する方法がわかっていないみたいなのですが、 やり方がよくわかりません。 もし、わかる方がいたら教えていただけないでしょうか? よろしくお願いします。 以下、書いたプログラムです。 o=2 ActiveSheet.ChartObjects("グラフ1 " ).Activate ActiveChart.SeriesCollection.NewSeries 'グラフの種類・データの範囲・凡例・2軸の使用を指定します With ActiveChart.SeriesCollection(o) 'グラフの種類を設定 折れ線グラフ .ChartType = xlXYScatterLines 'データの指定 .XValues = Sheets(シート名(o)).Range(Cells(2, 1), Cells(行の数 + 1, 1)) '←ここでエラーが出ます。 .Values = Sheets(シート名(o)).Range(Cells(2, p + 1), Cells(行の数 + 1, p + 1)) '凡例の指定 .Name = シート名(o) End With

専門家に質問してみよう