アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://oshiete1.goo.ne.jp/qa3258443.html
の質問の続きです。
-------------------------------------------------------------
Sub sample()

Dim myRange As Range
Set myRange = Range("A1:D2")

With Worksheets("Sheet1").ChartObjects.Add(50, 50, 300, 200).Chart
.ChartType = xlPie
.SetSourceData Source:=myRange, PlotBy:=xlRows
.ApplyDataLabels Type:=xlDataLabelsShowLabelAndPercent, LegendKey:=False, HasLeaderLines:=True
End With

End Sub
-------------------------------------------------------------
この手法でグラフ作成した場合について、

1.
グラフ作成時に以下と同じように NumberFormatLocal を設定する方法はありますか?

(通常の記述例)
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.NumberFormatLocal = "0.0%"

といいますのは、現在作成しているマクロはユーザーの操作によっては
円グラフと棒グラフが順不同に作成される場合があり、
SeriesCollection の INDEX番号 が分からない場合があるためです。

または、グラフの名前等を指定することなどにより、
SeriesCollection の INDEX番号 を取得する事が可能でしたら
その方法を教えて頂きたいのですが・・・。

2.
同じく、グラフ作成時にデータラベルのフォントを設定する方法はありますか?

(通常の記述例)
With Selection.Font
.Name = "MS Pゴシック"
.Size = 10
End With

3.
同じく、横棒グラフ作成時に、以下と同じ事はできますか?

'反転
ActiveChart.Axes(xlCategory).Crosses = xlMaximum
ActiveChart.Axes(xlCategory).ReversePlotOrder = True

'横軸100%
ActiveChart.Axes(xlValue).MaximumScale = 1

以上、何卒ご教授のほど、よろしくお願い致します。

A 回答 (1件)

こんにちは。



With~End With の間に
.SeriesCollection(1).DataLabels.NumberFormatLocal = "0.0%"
.SeriesCollection(1).DataLabels.Font.Name = "MS Pゴシック"
.SeriesCollection(1).DataLabels.Font.Size = 10
のような感じで追加すれば良いかと思います。
また、他のプロパティも同様に、

.Axes(xlCategory).Crosses = xlMaximum
.Axes(xlCategory).ReversePlotOrder = True
.Axes(xlValue).MaximumScale = 1

をWith~End With間に追加すれば、出来るかと思います。
    • good
    • 0
この回答へのお礼

ForestRainさん

たびたびご回答ありがとうございます。
とても助かります。

やはり、SeriesCollectionのINDEX番号を
取得するのは難しそうでしょうか?

それから、横棒グラフで同じようにフォントを指定する場合は
また違う方法をとらなければならないのでしょうか?

重ねて質問してしまって申し訳ありません。

どうも、この手のプロパティ等の指定の仕方が
イマイチつかめないため、苦戦しております。
どこかうまく調べられるサイトはないものでしょうか・・・

お礼日時:2007/08/17 13:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!