次のコードを使用して名前を定義しました。
ActiveWorkbook.ActiveSheet.Names.Add Name:="BCLabel", RefersToR1C1:= _
"=OFFSET(R46C3,1,0,COUNTA(R46C3:R69C3)-2)"
ActiveWorkbook.ActiveSheet.Names("BCLabel").Comment = ""
このコードは複数のワークシートで繰り返されるため、BCLabel というタイトルの名前付き範囲が多数ありますが、これは異なる範囲を参照しています。例えば
=OFFSET('January'!$C$46,1,0,COUNTA('January'!$C$46:$C$69)-2)
=OFFSET('February'!$C$46,1,0,COUNTA('February'!$C$46:$C$69)-2)
=OFFSET('March'!$C$46,1,0,COUNTA('March'!$C$46:$C$69)-2)
これらの各ワークシートで、正しい名前付き範囲を参照するグラフを作成するコードを作成したいと思います。私は次のコードを試みました:
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.Name = "BCChart"
ActiveChart.SeriesCollection(1).Values = _
"==BCLabel"
ActiveChart.SeriesCollection(2).Values = _
"==BCLabel"
ただし、これは機能しません。「==BCLabel」は正しい名前付き範囲を参照しておらず、「==ActiveSheet.BCLabel」も参照していません。ご支援いただければ幸いです。
余談ですが、ActiveChart.Name = "BCChart" 行でエラーが発生しました。
助けてくれてありがとう!