最速怪談選手権

以前こちらで成績表からグラフの作成方法を教えていただきました。超初心者です。わかりやすく教えていただけますと幸いです。よろしくお願いいたします。

グラフは4本の折れ線グラフで、元データが四つの期ごとの成績表になっており、初期の設定は i=1~4 の数値をあてはめて、
.Name=i&"期順位" となっています。ただし年度変わりの対応として、1つ目の表の折れ線グラフの凡例を .Name= "=""2018-4期""" とすると、ちゃんと表示されますが、続けて2番目の凡例の記述を””2019-1期”””””としたい場合の記述方法がわかりません。教えてください。よろしくお願いいたします。

Private Sub BtnGraph_Click()
Dim left As Double
Dim top As Double
Dim width As Double
Dim height As Double
Dim col As Long
Dim i As Long

'左位置設定(=B列の開始位置)
left = ActiveSheet.Range("A1").width
'上位置設定(=A列最大行+5行目)
top = ActiveSheet.Range("A1:A" & maxrow + 4).height
'高さ
height = 300 * Y_ratio
'幅
width = ActiveSheet.Range("B2").width * No_koutei * X_ratio
'空のグラフ作成
With ActiveSheet.ChartObjects.Add(left, top, width, height).Chart
End With
'作成したグラフのアクティベイト
ActiveSheet.ChartObjects(1).Activate
'1期から4期まで作成
For i = 1 To 4
'該当期のデータが全て空なら終了する
If HasData(i) = False Then Exit For
'新しくデータ系列を作成
ActiveChart.SeriesCollection.NewSeries
'グラフの種類・データの範囲・凡例の使用を指定
With ActiveChart.SeriesCollection(i)
'グラフの種類を設定 折れ線グラフ
.ChartType = xlLineMarkers
'X軸の項目軸を指定
.XValues = Range(Cells(2, 2), Cells(2, No_koutei + 1))
'データの指定
col = GetCol1(i)
.Values = Range(Cells(saverow + 1, col + 1), Cells(saverow + 1, col + No_koutei))
'凡例の指定
.Name = i & "期順位"
End With
Next
'スケール情報設定
ActiveChart.Axes(xlValue, xlPrimary).MinimumScale = 1
ActiveChart.Axes(xlValue, xlPrimary).MajorUnit = Y_unit
ActiveChart.Axes(xlValue, xlPrimary).MaximumScale = GetMaxScale(maxrow - 2, Y_unit)
ActiveChart.Axes(xlValue, xlPrimary).ReversePlotOrder = True
'タイトル設定
With ActiveChart
.HasTitle = True
.ChartTitle.Text = Cells(saverow, 1).Value 'グラフ対象者の氏名
End With
gmakedFlag = True
End Sub

A 回答 (1件)

こんにちは



全体像がよくわからないけれど・・・

 .Name =Split("AAA BBB CCC DDD", " ")(i - 1)
とかでは?
    • good
    • 0

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