|
▼ここ さん:
こんにちは。
>A列をY軸でb・c〜複数列をそれぞれX軸として、
>dataとは別sheetに値が入力されている列全て
>A列との散布図を作成し表記したいです。
>(下の表だとA・B列、A・C列の2つの散布図を作成)
>グラフが多数になるので、グラフは縦並びで
>1つ1つのグラフには、Y軸:温度
>X軸:変化・個数・・・・のタイトルを表示。
この部分だけですが、以下のような感じでどうでしょう。
Sub Try1()
Dim r As Range
Dim c As Range
Dim i As Long
Dim ChtObj As ChartObject
Set r = Range("A1").CurrentRegion.Resize(, 3) '元データ範囲
Set r = Intersect(r, r.Offset(1)) '一行目をオミット
Set c = Range("B10").Resize(18, 7) 'グラフを描画するセル範囲
Set ChtObj = ActiveSheet.ChartObjects.Add(c.Left, c.Top, c.Width, c.Height)
With ChtObj.Chart
.ChartType = xlXYScatterLines
For i = 2 To 3
With .SeriesCollection.NewSeries
.XValues = r.Columns(i)
.Values = r.Columns(1)
.Name = r.Item(0, i)
End With
Next
.SeriesCollection(1).AxisGroup = 2
.HasAxis(xlCategory, xlPrimary) = True
With .Axes(xlCategory, xlPrimary)
.HasTitle = True
.AxisTitle.Characters.Text = "個数"
End With
.HasAxis(xlCategory, xlSecondary) = True
With .Axes(xlCategory, xlSecondary)
.HasTitle = True
.AxisTitle.Characters.Text = "変化"
End With
.HasAxis(xlValue, xlPrimary) = True
With .Axes(xlValue, xlPrimary)
.HasTitle = True
.AxisTitle.Characters.Text = "温度"
End With
End With
End Sub
ポイントは 第2軸の追加、です。
> .SeriesCollection(1).AxisGroup = 2
> .HasAxis(xlCategory, xlSecondary) = True
>又、そのグラフの中から
>C列の様に99999という異常点を
>ダブルクリックすればグラフには反映しない様にする
>事は可能でしょうか。
>(元dataから削除など)
こちらは ノーアイデアです。
|
|