Excel VBA グラフ作成のときのエラー
VBA初心者です。Excel2003を使っています。
Sheet1に作りたいグラフがあります。
データは下記のとおりです。
ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A")のところで、「実行時エラー13 型が一致しません」とエラーがでます。
不思議なのは、昨日は動いていたのです。
なぜ、エラーが出るようになったのかわかりません。
ご教授よろしくお願いします。
A B
1 a 1
2 2
3 3
4 4
5 5
6 b 6
7 7
8 8
9 9
10 10
11 c 11
12 12
13 13
14 14
15 15
Sub test()
Wrow = Worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To Wrow
If Worksheets("sheet1").Cells(i, "A").Value = "a" Then
a_data = Worksheets("sheet1").Cells(i, "A").Row
ElseIf Worksheets("sheet1").Cells(i, "A").Value = "b" Then
b_data = Worksheets("sheet1").Cells(i, "A").Row
ElseIf Worksheets("sheet1").Cells(i, "A").Value = "c" Then
c_data = Worksheets("sheet1").Cells(i, "A").Row
ElseIf Worksheets("sheet1").Cells(i, "A").Value = "d" Then
d_data = Worksheets("sheet1").Cells(i, "A").Row
End If
Next
Sheets("sheet1").Select
Range(Cells(a_data, "B"), Cells(b_data, "B")).Select
ActiveSheet.ChartObjects.Add(30, 10, 500, 200).Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("sheet1").Range(Cells(a_data, "B"), Cells(b_data - 1, "B")), PlotBy:=xlColumns
ActiveChart.Location where:=xlLocationAsObject, Name:="sheet1"
Sheets("sheet1").Select
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = Cells(a_data, "A") ←エラーがでます。
ActiveChart.SeriesCollection(2).Values = Range(Cells(b_data, "B"), Cells(c_data, "B"))
ActiveChart.SeriesCollection(2).Name = Cells(b_data, "A")
ActiveChart.SeriesCollection(3).Values = Range(Cells(c_data, "B"), Cells(d_data, "B"))
ActiveChart.SeriesCollection(2).Name = Cells(c_data, "A")
End Sub
お礼
有難う御座います。確かに複数列で指定したことで、おかしなグラフになっていました。修正してよくなりました。大変助かりました。