アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。

数日ほど色々な文献を調べたのですが、どうしても解決法が見つからなかったので質問させてください。

利用環境:Windows XP SP2
使用ソフト:Excel 2003 SP3

【問題】
マクロで自動的にデータを取り込み、複数のグラフを作成すると
2ワークシートごとに不明な系列データが追加されてしまう。

【具体的な症状】
Excelファイル(.xls)は1つのみです。

そこに1つのワークシートがあります。
例:RH001

そして、そのワークシートには以下の範囲に12個のデータが載っています。
AB12:AB112、AC:12:AC112、AD:12:AD112、AE12:AE112(28~31列)
AJ12:AJ112、AK:12:AK112、AL:12:AL112、AM12:AM112(36~39列)
AR12:AR112、AS:12:AS112、AT:12:AT112、AU12:AU112(44~47列)
X軸は何も使用していません。

このデータをマクロを利用してグラフ化する際に
ループで3つのワークシートを作り、4つのデータ系列を追加しています。

しかし、ワークシートの偶数番目(今回はワークシート2番)になると
なぜか、ループとは関係の無いデータ系列が存在しています。
今回は、通常4つのところを9つのデータ系列にになってしまいます。

どうも調べてみると、余分なデータ系列は
「通常のデータ系列の数+1」だけ追加されるようです。

自分なりにデータをいじったり、ネットの文献を色々と調べてみたのですが、
数日経った今も全く解決出来ておりません。

どなたか解決方法をご教授ください。
よろしくお願いします。
----------------------------------------------------------------
Sub test()

'ループで参照するワークシートを設定
strNameWorkSheet = "RH001"

'AB~AE、AJ~AM/AR~AUのデータをワークシートに分けるためのループ
For q = 1 To 3


'グラフの作成
Charts.Add
ActiveChart.ChartType = xlLineMarkers


'AB/AC/AD/AE、AJ/AK/AL/AM、AR/AS/AT/AUごとに新しいデータ系列を作るためのループ
For m = 1 To 4

'新しい系列を追加
ActiveChart.SeriesCollection.NewSeries
'ループ時に列を横にずらしていく。qで8列ずらし、mで1列ずらす
ActiveChart.SeriesCollection(m).Values = _
Sheets(strNameWorkSheet).Range(Sheets(strNameWorkSheet).Cells(12, 8 * q + 19 + m), _
Sheets(strNameWorkSheet).Cells(112, 8 * q + 19 + m))

Next m

'グラフのワークシート名を設定
strGraphName = strNameWorkSheet & q
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=strGraphName
With ActiveChart
.HasTitle = True
.ChartTitle.Text = strGraphName
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "スラスト方向変位(mm)"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "各方向磁気力(N)"
End With

Next q
End Sub

A 回答 (1件)

以下の部分を変更してみてください。



Charts.Add
ActiveChart.ChartType = xlLineMarkers
  ↓
ActiveWorkbook.Charts.Add Before:=Worksheets(Worksheets.Count)
ActiveChart.ChartType = xlLineMarkers
    • good
    • 2
この回答へのお礼

>pkh4989さん
ありがとうございます。
無事うまく作動しました(^-^)

膨大な数のグラフを作る必要があり、急ぎで必要だったので
大変助かりました。

本当にありがとうございましたm(_ _)m

お礼日時:2008/12/05 20:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています