1

次のコードを使用して名前を定義しました。

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" 行でエラーが発生しました。

助けてくれてありがとう!

4

1 に答える 1