• 締切済み

Excellのvbaにおける、グラフの設定

このたびは、Excellのvbaにおける、グラフの設定がわからず質問させていただきます。 具体的に、行いたいこととしましては、 円グラフを新規に作成し、データ範囲を指定し、グラフを表示させるということをしたいと考えております。 しかし、項目軸ラベルに使用するデータの設定がうまくいきません。 以下にソースコードをのせますのでアドバイス願います。 Sub AddGrafh()      Range("J4:O4").Select      Dim NowSheetName As String   NowSheetName = ActiveSheet.Name      ActiveSheet.ChartObjects.Add(50, 200, 338, 220).Select   ActiveChart.ChartType = xlPie   ActiveChart.ChartWizard Source:=Range("J4:O4"), PlotBy:=xlRows   ActiveChart.SeriesCollection(1).Name = "=""項目別支出割合"""   ActiveChart.ChartTitle.Font.Size = 14     ActiveChart.SeriesCollection(1).XValues = """=" & NowSheetName & "!$J$3:$O$3"""      End Sub 上記の ActiveChart.SeriesCollection(1).XValues = """=" & NowSheetName & "!$J$3:$O$3""" という箇所の記述がおかしいのですが、なんてかいてよいかわかりません。 ちなみに、項目軸ラベルに設定したいデータは、現在のシートのJ$3:$O$3です。 よろしくお願いします。

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

これで良いのでは、、、 ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Range("$J$3:$O$3")

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 それは、たぶん、この周辺のマクロは、旧Version の仕様で出来ているので、   ActiveChart.SeriesCollection(1).XValues = """=" & NowSheetName & "!$J$3:$O$3""" が使えないのだと思います。 ちょっと私のサンプルをみて考えていただけますか? つまり、Address(, , xlR1C1) と、R1C1方式で入れたら入るはずなのですね。 もちろん、 myRng.Offset(-1) →Range("J3:O3").Address(, , xlR1C1) でも可能です。 Sub AddGrafhR()   Dim NowSheetName As String   Dim myChart As ChartObject   Dim myRng As Range   Set myRng = Range("J4:O4")   NowSheetName = ActiveSheet.Name     Set myChart = ActiveSheet.ChartObjects.Add(50, 200, 338, 220)   With myChart.Chart   .ChartType = xlPie   .ChartWizard Source:=myRng, PlotBy:=xlRows   .SeriesCollection(1).Name = "=""項目別支出割合"""   .ChartTitle.Font.Size = 14   .SeriesCollection(1).XValues = _    "=" & NowSheetName & "!" & myRng.Offset(-1).Address(, , xlR1C1)   .ApplyDataLabels _      Type:=xlDataLabelsShowLabel, _      LegendKey:=False, _      HasLeaderLines:=True   End With   Set myChart = Nothing End Sub

関連するQ&A