これは非常に簡単なはずですが、構文がわかりません。PieChart の X 値を、B8:B12 の範囲内にあるものと等しくなるように変更したいと考えています。これは、PieChart を設定するための私のコードです。
Set pie_chart = Charts.Add()
With pie_chart
.ChartType = xlPie
.SetSourceData Source:=new_sheet.Range("C2:C" & _
num_bins + 1), _
PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, _
Name:=new_sheet.Name
End With
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = title
.ApplyDataLabels Type:=xlDataLabelsShowLabelAndPercent, LegendKey _
:=False, HasLeaderLines:=True
.SeriesCollection(1).DataLabels.NumberFormat = "0.0%"
.FullSeriesCollection(1).XValues = "=Content!$B$8:$B$12"
End With
変更が必要な問題の行は です.FullSeriesCollection(1).XValues = "Content!$B$8:$B$12"
。これは、コードが多数のワークシートを生成するためです。そのすべてが Content という名前ではありません。代わりに、グラフが存在するワークシートの名前が何であれ、B8-B12 から X 値を取得する必要があります。
役立つ場合は、チャートの親シートの名前が変数に保存されますnew_sheet
.FullSeriesCollection(1).XValues="new_sheet.Name!$B$8:$B$12"
私は次のようなことを試しました.FullSeriesCollection(1).XValues=new_sheet.Name&"!$B$8:$B$12"
なぜこれがうまくいかないのかわかりません: .FullSeriesCollection(1).XValues = "=" & new_sheet.Name & "!$B$8:$B$12"