|
▼りん さん
おはようございます。
りんさん、お返事ありがとうございます。
VBAについては基本もまだよく勉強できておらず、ご迷惑をおかけします。
>元のデータはどんな表で、どんな風に選択した状態でこのマクロを実行するのですか?
元のデータに関しましては↓こんな感じです。
1月 2月 3月 4月 5月 6月
A上 30 40 50 60 70 80
A下 10 20 30 40 50 60
B上 45 55 65 75 85 95
B下 25 35 45 55 65 75
::
上記内容と同様C〜続く
選択は入力したセルを全て選択します。
>グラフに表示したい2行というのはどの行のことですか?
今の状態でマクロを実行すると、「A上」の部分がグラフタイトルとなり1月から6月までの30〜80までの一本の折れ線グラフとなります。
グラフにはA上とA下の値が二本の折れ線として表示されるグラフにしたいです。
(続くB上B下〜同様)
>なお、線の色を変更するのはこんな感じです
>
>系列1の線を赤に
> .Chart.SeriesCollection(1).Border.ColorIndex = 3
申し訳ありません。質問がなっておりませんでした。
上記お教えいただいた方法は私も試してみたのですが、下記のエラーが表示されてしまいます。
“実行時エラー438
オブジェクトは、このプロパティまたはメソッドをサポートしていません。”
ご指摘いただきました、質問の不備については以上です。
貴重なお時間を割いていただくことを思うと恐れ入りますが、アドバイスいただけますと幸いです。
Sub AddChartObjects()
Dim Num As Integer, sRng As Range, sRow As Range
Set sRng = Selection.Offset(ColumnOffset:=1). _
Resize(ColumnSize:=Selection.Columns.Count - 1)
For Num = 2 To Selection.Rows.Count
Set sRow = sRng.Rows(Num)
With Sheets("グラフ用").ChartObjects.Add(((Num - 2) Mod 2) _
* 220 + 20, Int((Num - 2) / 2) * 160 + 20, 200, 140)
With .Chart
.SetSourceData Source:=Union(sRng.Rows(1), sRow), _
PlotBy:=xlRows
.ChartType = xlLine
.ChartArea.Font.Size = 6
.ChartArea.Interior.ColorIndex = 35
.PlotArea.Interior.ColorIndex = 37
.Axes(xlValue).MinimumScale = 0
.Axes(xlValue).MaximumScale = 100
.ApplyDataLabels AutoText:=True
.HasTitle = True
With .ChartTitle
.Text = Selection.Rows(Num).Cells(1).Value
.Font.Size = 8
End With
End With
End With
Next Num
End Sub
|
|