- 締切済み
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です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- papayuka
- ベストアンサー率45% (1388/3066)
これで良いのでは、、、 ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Range("$J$3:$O$3")
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 それは、たぶん、この周辺のマクロは、旧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