|
VBA初心者です。よろしくお願いいたします。
sheet1には作りたいグラフが2枚あります。
手がかりは、A列です。"赤"の部分と"青"の部分です。
グラフの種類は、散布図です。
データは下記のとおりです。
A B C D E
1 赤 1 2500 ex 28.2%
2 赤 1 5000 wor 38.0%
3 赤 1 7500 ex 100.0%
4 赤 2 15000 wor 43.7%
5 赤 2 30000 ex 62.0%
6 赤 2 60000 wor 59.2%
7 赤 3 2500 ex 100.0%
8 赤 3 5000 wor 12.7%
9 赤 3 7500 ex 43.7%
10 赤 4 15000 wor 0.0%
11 赤 4 30000 ex 0.0%
12 赤 4 60000 wor 0.0%
13 青 5 2500 ex 0.0%
14 青 5 5000 wor 1.4%
15 青 5 7500 ex 0.0%
16 青 6 15000 wor 2.8%
17 青 6 30000 ex 19.7%
18 青 6 5000 wor 0.0%
19 青 7 10000 ex 0.0%
20 青 7 15000 wor 0.0%
21 青 7 30000 ex 4.2%
22 青 8 60000 wor 19.7%
23 青 8 2500 ex 100.0%
24 青 8 5000 wor 0.0%
とりあえず、赤の部分だけのグラフ作成をマクロの記録をしてみました。
Sub Macro1()
Range("C1:C12,E1:E12").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("C1:C12,E1:E12"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R1C3:R3C3"
ActiveChart.SeriesCollection(1).Values = "=Sheet1!R1C5:R3C5"
ActiveChart.SeriesCollection(2).XValues = "=Sheet1!R4C3:R6C3"
ActiveChart.SeriesCollection(2).Values = "=Sheet1!R4C5:R6C5"
ActiveChart.SeriesCollection(3).XValues = "=Sheet1!R7C3:R9C3"
ActiveChart.SeriesCollection(3).Values = "=Sheet1!R7C5:R9C5"
ActiveChart.SeriesCollection(4).XValues = "=Sheet1!R10C3:R12C3"
ActiveChart.SeriesCollection(4).Values = "=Sheet1!R10C5:R12C5"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
このグラフで指定したいのが、B列を手がかりに1つ1つ系列のデータを指定したいのです。
表によっては、系列の数が違います。(青のように)
実際のデータはもっとたくさんあるので
なんとか自動化させたいので知恵をお貸し頂けると助かります。
|
|