dポイントプレゼントキャンペーン実施中!

Excel 2007で折線グラフを作成しています。
データは、A列・B列・C列の3つの時系列で、C列は第2軸に表示しています。
A列→B列→C列で凡例を表示し、かつ、重なり順序を手前からA列→B列→C列の順番に表示させるにはどうしたら良いでしょうか?
お分かりになる方いらっしゃいましたらご伝授ください。
何卒よろしくお願い申し上げます。

A 回答 (3件)

失礼しました。


下記コードを消し忘れていました。
ActiveSheet.ChartObjects(19).Activate
を削除してください。
あるいは
グラフがひとつだけなら、ChartObjectsのインデックスを 1 に変えてみてください。
ActiveSheet.ChartObjects(1).Activate

因みに、グラフを選択しなくてもVBAで処理することが出来ます。
    • good
    • 0
この回答へのお礼

xls88様

ご回答のほど、ありがとうございます。
お教えいただいたVBAで無事解決することができました。
またの機会がありましたらその際もよろしくお願いします。

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

お礼日時:2009/11/10 14:47

マクロを実行する前に、グラフをクリックして選択していますか?



エラーメッセージが表示されたら、「デバッグ」ボタンがあると思います。
クリックすれば、VBEのコードウインドウで、エラー発生個所が黄色く反転表示されます。
その場所を教えてください。
    • good
    • 0

普通には無理だと思います。


とりあえずマクロを組んでみました。
まだ不完全です。
該当グラフを選択しておいてマクロを実行してみてください。

Sub test1()
Dim srs As Series
Dim max1 As Variant
Dim max2 As Variant
Dim myval As Variant
Dim dd As Variant
Dim n As Integer
Dim i As Integer
Dim j As Integer

ActiveSheet.ChartObjects(19).Activate

With ActiveChart
.HasLegend = False
.HasLegend = True
n = .SeriesCollection.Count + 1
max1 = .Axes(xlValue, xlPrimary).MaximumScale
max2 = .Axes(xlValue, xlSecondary).MaximumScale
myval = .SeriesCollection(n - 1).Values
End With
j = n

'//ダミーデータ
For i = 1 To UBound(myval)
dd = dd & "," & myval(i) * max1 / max2
Next i
dd = Replace(dd, ",", "", 1, 1)

For i = n To 2 Step -1
Set srs = ActiveChart.SeriesCollection(i - 1)
With ActiveChart.SeriesCollection.NewSeries
.Formula = srs.Formula
.name = "New" & j
.MarkerStyle = srs.MarkerStyle '自動設定になる
.Border.Color = srs.Border.Color
.MarkerBackgroundColor = srs.Border.Color
.MarkerForegroundColor = srs.Border.Color
.PlotOrder = ActiveChart.SeriesCollection.Count - 1
If i = n Then
'.Values = Sheets("グラフ").Range("R24:W24")
.Values = "{" & dd & "}"
.name = srs.name
With srs
.name = ""
.MarkerStyle = xlNone
.Border.ColorIndex = xlNone
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
End With
End If
j = j + 1
End With
ActiveChart.Legend.LegendEntries(n).Delete
Next
End Sub
    • good
    • 0
この回答へのお礼

xls88様
早々のご回答のほど、ありがとうございます。

記載されたマクロを実行してみたのですがエラーとなります。
エラー内容は、
「実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。」
です。
どうしたらよいでしょうか?

お礼日時:2009/11/09 16:23

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

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