tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルvb.netでEXCELのグラフを作成したときの系列名の設定方法
記事No7347
投稿日: 2008/04/17(Thu) 17:41
投稿者F
はじめまして。
いろいろ調べてみたのですが自分がしたい事と一致するものがなく
こちらで伺うことにしました。
どうぞよろしくお願いします。

vb6で作成したEXCELグラフ作成のプログラムをvb.net用に変更しました。
大半は起動可能な状態に変更できたのですが、グラフの凡例表示部分の
系列名がセットできず困っています。

.SeriesCollection(1).Values="sheet!R5C2:R15C2"   ←グラフのデータの範囲
.SeriesCollection(1).Name="あ"  ←←※※これができなくなって困ってます。

系列名"あ"はシート上にはなく、直接指定をしたいのです。
シート状に"あ"がある場合の例はたくさん見つけられたのですが
1.シート上にグラフ用のデータが固まっていないので"A1:G20"のような指定ができない
2.シート上には必要ないため、名称はファイルから直接書き込みを行いたい
上記の2つの理由で参考になるものが見つかりませんでした。

初心者の質問で大変申し訳ないのですが、どうぞよろしくお願いいたします。

[ツリー表示へ]
タイトルRe: vb.netでEXCELのグラフを作成したときの系列名の設定方法
記事No7352
投稿日: 2008/04/17(Thu) 19:55
投稿者癒耶
> はじめまして。
> いろいろ調べてみたのですが自分がしたい事と一致するものがなく
> こちらで伺うことにしました。
> どうぞよろしくお願いします。
>
> vb6で作成したEXCELグラフ作成のプログラムをvb.net用に変更しました。
> 大半は起動可能な状態に変更できたのですが、グラフの凡例表示部分の
> 系列名がセットできず困っています。
>
> .SeriesCollection(1).Values="sheet!R5C2:R15C2"   ←グラフのデータの範囲
> .SeriesCollection(1).Name="あ"  ←←※※これができなくなって困ってます。
>
> 系列名"あ"はシート上にはなく、直接指定をしたいのです。
> シート状に"あ"がある場合の例はたくさん見つけられたのですが
> 1.シート上にグラフ用のデータが固まっていないので"A1:G20"のような指定ができない
> 2.シート上には必要ないため、名称はファイルから直接書き込みを行いたい
> 上記の2つの理由で参考になるものが見つかりませんでした。
>
> 初心者の質問で大変申し訳ないのですが、どうぞよろしくお願いいたします。
データの有無に関係なく
系列名だけ別に追加したいという事でしょうか?
.SeriesCollection(1).Name="あ"
の前の行に
.SeriesCollection.NewSeries
ではダメですか?
ちょっと今確認出来ない状況なのでダメだったら申し訳ないです。

[ツリー表示へ]
タイトルRe^2: vb.netでEXCELのグラフを作成したときの系列名の設定方法
記事No7353
投稿日: 2008/04/17(Thu) 22:05
投稿者F
> > はじめまして。
> > いろいろ調べてみたのですが自分がしたい事と一致するものがなく
> > こちらで伺うことにしました。
> > どうぞよろしくお願いします。
> >
> > vb6で作成したEXCELグラフ作成のプログラムをvb.net用に変更しました。
> > 大半は起動可能な状態に変更できたのですが、グラフの凡例表示部分の
> > 系列名がセットできず困っています。
> >
> > .SeriesCollection(1).Values="sheet!R5C2:R15C2"   ←グラフのデータの範囲
> > .SeriesCollection(1).Name="あ"  ←←※※これができなくなって困ってます。
> >
> > 系列名"あ"はシート上にはなく、直接指定をしたいのです。
> > シート状に"あ"がある場合の例はたくさん見つけられたのですが
> > 1.シート上にグラフ用のデータが固まっていないので"A1:G20"のような指定ができない
> > 2.シート上には必要ないため、名称はファイルから直接書き込みを行いたい
> > 上記の2つの理由で参考になるものが見つかりませんでした。
> >
> > 初心者の質問で大変申し訳ないのですが、どうぞよろしくお願いいたします。
> データの有無に関係なく
> 系列名だけ別に追加したいという事でしょうか?
> .SeriesCollection(1).Name="あ"
> の前の行に
> .SeriesCollection.NewSeries
> ではダメですか?
> ちょっと今確認出来ない状況なのでダメだったら申し訳ないです。


癒耶 様

お返事ありがとうございました。

.SeriesCollection.NewSeries を使用して
.SeriesCollection(1)が使用できるようにして下記の2行をセットしています

> > .SeriesCollection(1).Values="sheet!R5C2:R15C2"   ←グラフのデータの範囲
> > .SeriesCollection(1).Name="あ"  ←←※※これができなくなって困ってます。

Valuesで設定しているデータの系列名称として"あ"を設定したい
という質問だったのですが、私の文章がわかりづらかったようです。
申し訳ございませんでした。

[ツリー表示へ]
タイトルRe^3: vb.netでEXCELのグラフを作成したときの系列名の設定方法
記事No7355
投稿日: 2008/04/18(Fri) 00:50
投稿者癒耶
> Valuesで設定しているデータの系列名称として"あ"を設定したい
> という質問だったのですが、私の文章がわかりづらかったようです。
> 申し訳ございませんでした。
思い切り勘違いしてました、申し訳ないです。
VBAを使う機会があまりないので一緒に考えても宜しいですか?
今回「A1」みたいな形式が使えないという事で
R1C1形式で入れる方法はないかとオブジェクトブラウザを眺めていたら
FormulaR1C1というものがあったので↓のように作ってみました。
.SeriesCollection(1).FormulaR1C1 = "=SERIES(Sheet1!R5C2:R15C2,,Sheet1!R5C2:R15C2,1)"   '←グラフのデータの範囲
.SeriesCollection(1).Name="あ"
としてみたところR1C1形式での指定でグラフを作成出来ました。
また考え方違っていたら教えてくれると嬉しいデス。

[ツリー表示へ]
タイトルRe^3: vb.netでEXCELのグラフを作成したときの系列名の設定方法
記事No7356
投稿日: 2008/04/18(Fri) 07:22
投稿者花ちゃん
> > > .SeriesCollection(1).Name="あ"  ←←※※これができなくなって困ってます。
>
> Valuesで設定しているデータの系列名称として"あ"を設定したい

> vb6で作成したEXCELグラフ作成のプログラムをvb.net用に変更しました。

今一何がしたいのかよく解りません。凡例の系列名を変更したいような事が書かれて
いたり、上記は何かをする為に貴方が考えたやり方であって、それもできない方法ですよね

VB6.0 で設定していた時のコードを投稿するか、やりたい事をマクロに記録して
その部分を投稿して下さい。(下記のように)

    ActiveChart.SeriesCollection(1).Name = "=""あ"""
    ActiveChart.SeriesCollection(2).Name = "=""い"""

> .SeriesCollection(1).Name="あ"  ←←※※これができなくなって困ってます。
上記でエラーでも表示されるのでしょうか?
***.SeriesCollection(1).Name="あ"  の *** の部分はどのようになっているのでしょうか?
ActiveChart.SeriesCollection のように状況依存コードが使われていませんか?

又、Com オブジェクトの解放処理の方は大丈夫なのでしょうか?
(上記処理よりこちらの方が気になります。)
Excel のバージョンやVB のバージョン OS の種類等の環境も明記して下さい。


# 不要な引用は避けるようにして下さい。

[ツリー表示へ]