【EXCEL】表とグラフの連動、グラフのラベル設定

このQ&Aのポイント
  • EXCEL初心者です。関数やマクロ等全く分かりません。EXCELのSheet1に表、Sheet2に表の内容を元に散布図を作成したいです。具体的には、表の「情報1」=グラフのy軸、 表の「情報2」=グラフのx軸、 表の「番号」=xとyの交点としたいです。また、表の内容を変えると、自動的にグラフにも変更内容が反映されるようにしたいです。
  • EXCEL初心者です。関数やマクロ等全く分かりません。EXCELのSheet1に表を作成し、Sheet2に散布図を作成したいです。具体的には、表の「情報1」をy軸、 表の「情報2」をx軸として、グラフを作成したいです。また、表の内容を変えると、自動的にグラフにも変更内容が反映されるようにしたいです。
  • EXCEL初心者です。EXCELのSheet1に表を作成し、Sheet2に散布図を作成したいです。具体的には、表の「情報1」をy軸、 表の「情報2」をx軸として、グラフを作成したいです。また、表の内容を変えると、自動的にグラフにも変更内容が反映されるようにしたいです。
回答を見る
  • ベストアンサー

【EXCEL】表とグラフの連動、グラフのラベル設定

EXCEL初心者です。関数やマクロ等全く分かりません…。 使用しているバージョンは2010です。 ・EXCELのSheet1に表( 添付したもの )、Sheet2に表の内容を元に散布図を作成したいです。 ・具体的には、  表の「情報1」=グラフのy軸、   表の「情報2」=グラフのx軸、   表の「番号」=xとyの交点  としたいです。  例えば、4行目のデータは以下のようにさせたいです。  x=300、 y=100、 300と100の交わった所に1と入れたいです。  これを5行目、6行目…と行いたいです。 ・また、表の内容を変えると、自動的にグラフにも変更内容が反映されるようにしたいです。 一応、自分で調べて行ったところ、グラフのラベル設定を↓こちらのサイトで http://www4.synapse.ne.jp/yone/excel2010/excel2010_graph_sanpu.html 行ってみたのですが、VBAにそのままサンプルコードを貼り付けたところ、 ラベルが、今回設定したい「番号」ではなく「名前」になってしまいます・・・。 ちなみに、貼り付けたサンプルコードは↓こちらです。 Sub AttachLabelsToPoints() 'Dimension variables. Dim Counter As Integer, ChartName As String, xVals As String ' Disable screen updating while the subroutine is run. Application.ScreenUpdating = False 'Store the formula for the first series in "xVals". xVals = ActiveChart.SeriesCollection(1).Formula 'Extract the range for the data from xVals. xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _ Mid(Left(xVals, InStr(xVals, "!") - 1), 9))) xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1) Do While Left(xVals, 1) = "," xVals = Mid(xVals, 2) Loop 'Attach a label to each data point in the chart. For Counter = 1 To Range(xVals).Cells.Count ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _ True ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -1).Value Next Counter End Sub これを貼り付けると、ラベルが「番号」ではなく「名前」になってしまいました。 上記サイトに 「  また、以下のようなコードでもラベルを付けることができました。 グラフをアクティブにして  VBA(マクロ)を実行します。 」 とあったのですが、当方マクロやEXCELはど素人で、 「 グラフをアクティブ?? 」状態で全くわかりませんでした…。 また、表の内容を書き換えたときに、グラフに自動的に反映されません…。 どうすれば求めているグラフのラベル設定ができ、また表の内容の書き換えたときグラフが連動 するようになってくれるのでしょうか・・・??

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

>No.3 この回答への補足 >表をSheet1に、グラフをSheet2に書くと、グラフにラベルが表示されません・・・ >表もグラフも同じSheet内だと、表示されます。 グラフは正しく表示プロットされていると理解してOKですか? グラフは正しく表示されているとして 多分Sheet2がアクティブ(画面表示されている)状態だと思います。 No.3で書きましたが複数のシートを跨ぐ処理の場合注意が必要です。 シート名を付与して住所を明らかにしなければいけません。 シート名がない場合はActivesheetということになります。 No.2のコードは同一シートが前提になっています。 リンク式で ActiveSheet.Name と書いている処を確実にデータ表のシート名が入るようにしなければいけません。 (例2) ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Formula = _ "=Sheet1!" & Range(xVals).Cells(Counter, 1).Offset(0, -2).Address というようにデータ表のシート名を決め打ちしてみてください。 ところで本文で提示されたコードでは Range(xVals)でシート名を含めデータ表のセル番地が解っています。 ということは Range(xVals).Parent.Name でデータ表のシート名が採れるはずです。 これを使えばあらかじめシート名が解っていなくても対処できます。 >また、ワークシートのイベントプロシージャについてですが、 >表の書かれたSheet1、グラフの書かれたSheet2共に「change」で試してみましたが、 >表の行を追加したときに追随されませんでした。 >どこか間違っているのでしょうか?? 確かなことはコードを拝見しないことには云えませんが、、、 多分 SeriesCollection(1)のFormula あるいは XValuesプロパティで「Xの値」の範囲 Valuesプロパティで「Yの値」の範囲 を書き換えなければいけません。 いずれにしましてもイベントプロシージャの件は次のステップとして まずは本題をクリアすることに集中した方がよいと思います。 因みにVBAを使わなくても方法はあります。 <参考> グラフの参照範囲を自動的に変更する http://officetanaka.net/excel/function/tips/tips71.htm >いただいたURLをじっくり勉強してみます。。 殆どがコード作成依頼が多い中頼もしいお言葉です。 応援します。 デバッグ方法を知ってた方が良いです。 <参考> デバッグ方法 http://www.239-programing.com/excel-vba/basic/basic021.html

miyuki03111
質問者

お礼

お礼が遅くなり申し訳ございません。 あれから、いただいたURLなどでお勉強しました。 下地がなかったので、お答えいただくのも大変だったかと思います。 本当に質問以外の役立つことまで教えてくださってありがとうございました! まだまだですがご回答の内容が少し理解できるようになりました! お答えいただいたお二方をBAとしたいのですが…質問以外のことも教えてくださったのでBAとさせていただきました。 MackyNO1さまも実際に検証してくださったりと本当に感謝しております。ありがとうございました! またおかしな質問をしていたらどうかご容赦くださいませ^^;

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>の、「'ラベルに使うセル範囲を指定します。」のところは消してよいのでしょうか? アポストロフィー以降の部分はコメントなのでプログラムの対象外のデータですので消しても消さないでも関係ありません(コードを説明しているだけです)。 >それとも、今回の表の「番号」の1から10までの範囲のセルを入力すればよいですか?? 実際にラベルにしたい数字が書かれているセル範囲(シート名=Sheet2?の部分を含めて)を指定すればOKです(こちらでも検証して問題ないことを確認しています)。

miyuki03111
質問者

お礼

あっ!できました! ありがとうございます、検証までしていただき本当に感謝です。 このやりかたのほうが私のような初心者には分かりやすいですね! ありがとうございました!

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

>No.2 この回答への補足 >XとYが入れ替わっていた場合はどう変わるのでしょうか?? 見た目軸目盛が変わるだけです。 どちらをXにするかYにするかはご自分に決定権があります。 因みにSeriesCollection(1)の XValuesプロパティで「Xの値」 Valuesプロパティで「Yの値」 を個別に設定することができます。 >表の行を追加したときには追随されなかったのですが、それは可能ですか?? >表の「番号」の11、12…と増やして言ったときグラフも追随して・・・・・ 可能です。 ワークシートのイベントプロシージャを使うことになります。 <参考> ワークシートのイベントプロシージャ http://excelvba.pc-users.net/fol3/3_6.html >また、グラフと表が別のSheetにあったとき、コードの書き方が変わったりはしますか?? 基本変わりはありません。 シート名を付けて書くようにすれば大丈夫です。

miyuki03111
質問者

補足

早速ありがとうございます。 またつまづいてしまいました。 NO.2でご回答いただいた↓でやってみたところ、 ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Formula = _ "=" & ActiveSheet.Name & "!" & Range(xVals).Cells(Counter, 1).Offset(0, -2).Address 表をSheet1に、グラフをSheet2に書くと、グラフにラベルが表示されません・・・ 表もグラフも同じSheet内だと、表示されます。 また、ワークシートのイベントプロシージャについてですが、 表の書かれたSheet1、グラフの書かれたSheet2共に「change」で試してみましたが、 表の行を追加したときに追随されませんでした。 どこか間違っているのでしょうか?? いただいたURLをじっくり勉強してみます。。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

>・具体的には、 >  表の「情報1」=グラフのy軸、  >  表の「情報2」=グラフのx軸、  >  表の「番号」=xとyの交点 >  としたいです。 XとYが入れ替わっているのでは? 現状のままでOKなら ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -1).Value の列オフセット量を-2にして試してください。 ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -2).Value ただし値を書き込むだけですから元データの変更には追随しません。 追随させるには Range(xVals)がアクティブシートにあるとするなら ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Formula = _ "=" & ActiveSheet.Name & "!" & Range(xVals).Cells(Counter, 1).Offset(0, -2).Address というようにFormulaでセルとリンクさせます。

miyuki03111
質問者

補足

出来ました!表の「情報1」「情報2」の数字を変えても追随されていてすごいです! 本当にありがとうございます!! >XとYが入れ替わっているのでは? 実は、実際のEXCELのデータは別の場所にあって見られないので、 確かこうだったという記憶で書かせていただきました、申し訳ありません。 XとYが入れ替わっていた場合はどう変わるのでしょうか?? ご迷惑ついでに、補足質問なのですが…。 表の行を追加したときには追随されなかったのですが、それは可能ですか?? 表の「番号」の11、12…と増やして言ったときグラフも追随してくれるようになればベストなのですが…。 また、グラフと表が別のSheetにあったとき、コードの書き方が変わったりはしますか?? いま表と別のシートにグラフを作成しようとしたところ、やり方が悪いのかグラフが作れなかったので、 まず表と同じシートにグラフを書いて、コードを打ち込んでグラフのラベルなどを作って… そのあとに別のシートにグラフをコピーするという 何だか頭の悪いことをしています…。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>また、以下のようなコードでもラベルを付けることができました。 グラフをアクティブにしてVBA(マクロ)を実行します。 とあったのですが、当方マクロやEXCELはど素人で、「 グラフをアクティブ?? 」状態で全くわかりませんでした…。 こちらのコードの方が初心者にはわかりよいですね。 グラフをアクティブとは、グラフエリアをクリックしてグラフを選択状態にすることです(リボンにグラフツールのタブが出ます)。 実際に適用する場合は、提示されているコードの以下の部分を、数字が書いてあるシート名とその範囲に変更することになります。 D_Label = Sheets("Sheet1").Range("B2:B9").Value

miyuki03111
質問者

補足

早速ありがとうございます! やはりアクティブはそういう意味だったのですね…。お恥ずかしいです。 >実際に適用する場合は、提示されているコードの以下の部分を、数字が書いてあるシート名とその範囲に変更>することになります。 >D_Label = Sheets("Sheet1").Range("B2:B9").Value これなのですが、 おっしゃっていただいたように、 D_Label = Sheets("Sheet1").Range("B2:B9").Value を、「番号」の列の数字のセル範囲に変えて、 D_Label = Sheets("Sheet1").Range("A4:A13").Value としましたが、何度か試したのですが思うとおりになりません…。 Sub test()   Dim i As Integer   Dim D_Label As Variant     'ラベルに使うセル範囲を指定します。     D_Label = Sheets("Sheet1").Range("B2:B9").Value     With ActiveChart.SeriesCollection(1)       .ApplyDataLabels       For i = 1 To .Points.Count         .Points(i).DataLabel.Text = D_Label(i, 1)       Next i     End With End Sub の、「'ラベルに使うセル範囲を指定します。」のところは消してよいのでしょうか? それとも、今回の表の「番号」の1から10までの範囲のセルを入力すればよいですか?? (↑試してみたとき、添付の表ではわからないようになっていますが「番号」の1から10に対応するセル 「 A4:A13 」と入力しました ) 両方試してみたのですが、毎回、ラベルの一箇所だけがなぜか別のデータになります…。 具体的には、「 番号 」の10のところが70となります…。 あと、これだと表の書き換え時のグラフとの連動はできないですよね?? うーん、わからないことだらけですみません。

関連するQ&A

  • エクセル2003(VBA)で散布図グラフの元データの範囲を可変にしたい

    エクセル2003の散布図グラフで複数の系列を表示しています。ところが データの量(行数)がすぐに変わりますので元データの範囲を可変したいのですが うまくいきません。 また、グラフ作成後、下記コードにてラベルの一括貼付けをしております。 下記に具体的なデータを記載しますので、どうかお知恵をお貸し下さい。 よろしくお願い致します。 ■現在 元データのプロパティ より Xの値:=Sheet1!$E$3:$E$324 Yの値:=Sheet1!$F$3:$F$324  ※本当はここで"Sheet1!$E$3:$E$65536"とSheet1!$F$3:$F$65536にすれば    データは取得できますが、下記マクロを実行すると当然オーバーフローします    要はここで存在するデータ範囲に都度変わっていくような事ができれば    それでも解決するかも? □使用しているマクロ Sub 全系列の一括ラベル表示() Dim Counter As Integer, ChartName As String, xVals As String Application.ScreenUpdating = False For i = 1 To ActiveChart.SeriesCollection.Count 'Store the formula for the first series in "xVals". xVals = ActiveChart.SeriesCollection(i).Formula '''''' 'ここでxvalsにデータ元が入ったままなのでそれを存在するデータ範囲に変わるようにしたいーーーー xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, Mid(Left(xVals, InStr(xVals, "!") - 1), 9))) xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1) Do While Left(xVals, 1) = "," xVals = Mid(xVals, 2) Loop For Counter = 1 To Range(xVals).Cells.Count If Range(xVals).Cells(Counter, 1).Offset(0, -1).Value = "" Then With ActiveChart.SeriesCollection(i).Points(Counter) .HasDataLabel = True .DataLabel.Text = "" End With Else With ActiveChart.SeriesCollection(i).Points(Counter) .HasDataLabel = True .DataLabel.Text = Range(xVals).Cells(Counter, 1).Offset(0, -1).Value End With End If Next Counter Next i End Sub

  • エクセルの散布図にラベル(系列が2つ)

    エクセルの散布図にラベルを付けたいのですが、 いろいろ試しているのですが上手くいきません。(マクロ初心者です。) OKwaveにある質問も見たのですが、同じような状況が見当たらず困っていました。 http://support.microsoft.com/kb/213750 ↑「microsoft サポートオンライン」 のマクロを参考にし、やってみたのですが、系列が1つしかない場合は上手くいくのですが、系列2つでやると 「オブジェクト変数またはwithブロック変数が設定されていません」 というエラーが出てきてしまいます。 どなたかお知恵を貸していただければ幸いです。 ・一つのグラフに系列が2つあり、それぞれいくつかのデータがある。  (例えば、下のデータのB2:C4は系列1「野菜」、   B5:C7は系列2「果物」となっている。) A1:ラベル_____B1:X軸____C1:Y軸 A2:キャベツ___B2:12______C2:5 A3:トマト_____B3:9_______C3:7 A4:キュウリ___B4:5_______C4:3 A5:イチゴ_____B5:4_______C5:8 A6:ミカン_____B6:1_______C6:4 A7:リンゴ_____B7:1_______C7:4 この表で 一つの表に2系列をおさめ、 なおかつそれぞれの点に「キャベツ」「イチゴ」などのラベルを表示したいと思っています。 「系列1」の点は「■」「系列2」の点は「●」と分けてあります。 実際にはもっとデータ数が多いため、系列を全て分ける、というのは難しいです。 VBAを使って出来るやり方がありましたら是非教えて下さい。 なお、サポートオンラインからコピーして使った マクロは以下のとおりです。 Sub AttachLabelsToPoints() 'Dimension variables. Dim Counter As Integer, ChartName As String, xVals As String ' Disable screen updating while the subroutine is run. Application.ScreenUpdating = False 'Store the formula for the first series in "xVals". xVals = ActiveChart.SeriesCollection(1).Formula 'Extract the range for the data from xVals. xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _ Mid(Left(xVals, InStr(xVals, "!") - 1), 9))) xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1) Do While Left(xVals, 1) = "," xVals = Mid(xVals, 2) Loop 'Attach a label to each data point in the chart. For Counter = 1 To Range(xVals).Cells.Count ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _ True ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -1).Value Next Counter End Sub どうぞよろしくお願いします。

  • excel2007でグラフの書式設定をするマクロ

    excel2003で作成したマクロで、excel2003上では動作するのですが、excel2007ではエラーになります。 調べた限りでは、excel2007でVBAの仕様が変わったということも無いようですが、新しくexcel2007でマクロを記録してみてもエラーになり、困っています。 マクロの内容は、グラフの系列にラベルの書式設定をするというものです。 エラー内容「'HasDataLabels' メソッドは失敗しました: 'Series'オブジェクト」 ---------------------------- Sub LabelSet() Dim col_srs As SeriesCollection Dim obj_srs As Series          Sheets("Sheet1").ChartObjects(1).Activate     Set col_srs = ActiveChart.SeriesCollection     'データ系列ごとに個々の系列名を表示     For Each obj_srs In col_srs       With obj_srs         .HasDataLabels = True         .DataLabels.ShowSeriesName = True         .DataLabels.ShowValue = True         .DataLabels.Separator = Chr(10)       End With     Next End Sub ----------------------------

  • Excellのvbaにおける、グラフの設定

    このたびは、Excellのvbaにおける、グラフの設定がわからず質問させていただきます。 具体的に、行いたいこととしましては、 円グラフを新規に作成し、データ範囲を指定し、グラフを表示させるということをしたいと考えております。 しかし、項目軸ラベルに使用するデータの設定がうまくいきません。 以下にソースコードをのせますのでアドバイス願います。 Sub AddGrafh()      Range("J4:O4").Select      Dim NowSheetName As String   NowSheetName = ActiveSheet.Name      ActiveSheet.ChartObjects.Add(50, 200, 338, 220).Select   ActiveChart.ChartType = xlPie   ActiveChart.ChartWizard Source:=Range("J4:O4"), PlotBy:=xlRows   ActiveChart.SeriesCollection(1).Name = "=""項目別支出割合"""   ActiveChart.ChartTitle.Font.Size = 14     ActiveChart.SeriesCollection(1).XValues = """=" & NowSheetName & "!$J$3:$O$3"""      End Sub 上記の ActiveChart.SeriesCollection(1).XValues = """=" & NowSheetName & "!$J$3:$O$3""" という箇所の記述がおかしいのですが、なんてかいてよいかわかりません。 ちなみに、項目軸ラベルに設定したいデータは、現在のシートのJ$3:$O$3です。 よろしくお願いします。

  • Office 2003 excel vbaでグラフの種類を一系列毎に判

    Office 2003 excel vbaでグラフの種類を一系列毎に判定するマクロを組もうとしております。マクロの対象となるグラフには合計で4系列が含まれており、上から棒グラフ、棒グラフ、マーカーなしの折れ線グラフ、マーカー付のおれせんグラフとなっています。 以下のマクロを実行して、「xlbar」「xlbar」「xlline」「xlline」とメッセージが返る事を想定していたのですが、実際には「51」「51」「65」「4」とメッセージが表示されます。 どこで間違っているのかご教示いただけますと幸いです。 Sub 判定() Dim i As Integer Dim seriesCounts As Integer seriesCounts = ActiveChart.SeriesCollection.Count For i = 1 To seriesCounts MsgBox ActiveChart.SeriesCollection(i).ChartType Next i End Sub

  • エクセル グラフ データラベルにX軸の値を表示

    VBAでエクセルのグラフにX軸の値を表示させる方法を教えて下さい。 このように書いているのですが、Type:=xlCategoryでエラーとなってしまいます。 For i = 1 To ActiveChart.SeriesCollection(1).Points.Count ActiveChart.SeriesCollection(1).Points(i).HasDataLabel = True ActiveChart.SeriesCollection(1).ApplyDataLabels Type:=xlCategory Next i Y軸を表示させるxlValueではエラーとならず、Y軸の値が表示されました。 教えて下さい。 宜しくお願い致します。

  • エクセルグラフを別シートのグラフに連動させることはできますか?

    エクセルのグラフで教えてください。 下記のVBAを使って同じグラフを それぞれ別シートに作成しています。 VBAの3行目のActiveSheetはシート名(入力画面)を指します。 入力画面のセルで1または2を入力することで グラフの色が変わるようにしています。 そのグラフと同じものを別シート(印刷用画面)に作成したく 入力画面の入力で印刷用画面の入力も変わるようにしたつもりなのですが・・・ この方法だと、入力した際に 一瞬印刷用画面に移動して画面がちらついてしまいます。 このちらつきをなくしたいのですが なにかよい方法はありますでしょうか? よろしくお願いいたします。 Sub Sam1() Dim i, nColor As Integer ActiveSheet.ChartObjects("グラフ 8").Select i = 1 nColor = 2 '←「2」の時の色 If Cells(i, 13) = 1 Then nColor = 5 '←「1」の時の色 ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor Sheets("印刷用画面").Select ActiveSheet.ChartObjects("グラフ 2").Select nColor = 2 '←「2」の時の色 If Sheets("入力画面").Cells(i, 13) = 1 Then nColor = 5 '←「1」の時の色 ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = nColor Sheets("入力画面").Select Range("H15").Select End Sub

  • VBScriptでExcelグラフ作成につて

    VBSを生かじりしている者です。既存のExcelファイルを開きそのファイルにあるデータを参照してグラフを作るVBS文を作る勉強をしています。現在2軸グラフを作成中で、グラフスタイルの指定まで出来るようになりました。次に第2系列の折れ線グラフの色を変えられないものかと試行中ですが全くうまく行きません。グラフの色を変える方法をご教授願います。もしかしてVBSで出来ない範囲かどうかと思ったり・・・・・ Excel2007のデータ(a1セルから)・・DBからのエクスポートのためa1セルに値有り 月    1    2    3    4    5    6 売上高 540,000 560,000 660,000 750,000 360,000 620,000 粗利益 81,000 128,800 171,600 225,000   65,000 116,500 粗利益率 15.00% 23.00% 26.00% 30.00% 18.06% 18.79% 売上高と粗利益率を参照する2軸グラフの作成VBS文 Option Explicit Dim ex,eb,eg,sE,sW,objEx,nChart ' Excel起動 Set ex=CreateObject("Excel.Application") ex.Visible=True ' 既存ファイルを開く Set eg = ex.Workbooks.Open("C:\Users\hidefumi shima\Documents\VBS\グラフ0002.xlsx") Set eb=eg.Sheets(1) ' 新規グラフ(座標は、グラフのエリア) Set nchart =eb.ChartObjects.add(300, 100, 400, 300) ' グラフデータの範囲取得(終端セル) sE = eb.Range("B1").End(-4121).Row sW = eb.Range("A1").End(-4161).Column ' グラフデータの指定 ex.ActiveSheet.ChartObjects("グラフ 1").Activate ex.ActiveChart.SetSourceData eb.Range("b2").Resize(1, sW-1) ex.ActiveChart.SeriesCollection(1).Name =eb.Range("a2") ex.ActiveSheet.ChartObjects(1).Chart.ChartStyle = 34 '第2データの指定 ex.ActiveChart.SeriesCollection.NewSeries ex.ActiveChart.SeriesCollection(2) ex.ActiveChart.SeriesCollection(2).ChartType = 4 '折れ線グラフ ex.ActiveChart.SeriesCollection(2).Values = eb.Range("b4").Resize(1, sW-1) ex.ActiveChart.SeriesCollection(2).AxisGroup = 2 ex.ActiveChart.SeriesCollection(2).Name =eb.Range("a4") Set eg=Nothing Set eb=Nothing Set ex=Nothing

  • EXCELVBAグラフ凡例表示部分の系列の名称非表

    すいません。VBAの記述の方法がわからないのでお手数ですが教えてください 使用アプリ・使用OS:Excel2010 VBA Windows7 ■教えてほしい内容 グラフを作成し、その後以下のVBAでグラフの系列を追加しています。 dk = ActiveChart.SeriesCollection.Count + 1 ActiveChart.SeriesCollection.NewSeries '系列名の設定 ActiveChart.SeriesCollection(dk).Name = "cp-" & dk 'y軸の値設定 ActiveChart.SeriesCollection(dk).Values = "={" & aaa & "}" '散布図設定 ActiveChart.SeriesCollection(dk).ChartType = xlXYScatter その後、グラフの凡例部分でこの追加した系列cp-○の凡例内の系列を非表示にしたいのですがわかりません。 申し訳ありませんが教えてください。

  • ExcelVBA 変数を使って項目軸ラベルを追加するには

    Excel2000 VBAで 一度作ったグラフに 項目軸ラベルを追加しようとすると エラーが出ます. Dim MyWorkBookName As String Dim MySheetName As String Dim LastRow As Integer MyWorkBookName = ActiveWorkbook.Name MySheetName = ActiveSheet.Name LastRow= 52 With ActiveChart .SeriesCollection(1).XValues = _ Workbooks(MyWorkBookName). _ Worksheets(MySheetName). _ Range(Cells(2, 6), Cells(LastRow, 6)) End With 変数を使って表したいのですが...

専門家に質問してみよう