0

これは非常に簡単なはずですが、構文がわかりません。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"

4

1 に答える 1