Page 761 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼続・グラフの作成 つん 03/2/18(火) 10:41 ┗Re:続・グラフの作成 つん 03/2/18(火) 12:12 ─────────────────────────────────────── ■題名 : 続・グラフの作成 ■名前 : つん <honey@sweetparty.ne.jp> ■日付 : 03/2/18(火) 10:41 -------------------------------------------------------------------------
おはようございます。 昨日に引き続き、グラフの件で質問させていただきます。 昨日JuJuさんに回答いただき、素の状態の円グラフまでは描けました。 今、それにデータラベルを書き込む時点で、また躓いてしまいました。 助けてくださいませ。 今できている段階のコードです。(小さな円グラフをいくつも描くのでサブルーチンにしてコールしてます) '============================================== For Each ws In Worksheets With ws Set r = .Range(.Cells(16, 1), .Cells(20, 1)) 'あんまり狭いからちと広げてみました Set rChart = .Range(.Cells(46, 2), .Cells(47, 2)) Call Himura(ws, r, rChart) End With Next ws '============================================== Private Sub Himura(arg_ws As Worksheet, arg_r As Range, arg_rChart As Range) With arg_ws.ChartObjects.Add( _ Left:=arg_r.Left, _ Top:=arg_r.Top, _ Width:=arg_r.Width, _ Height:=arg_r.Height) With .Chart .SetSourceData Source:=arg_rChart, PlotBy:=xlColumns .ChartType = xlPie .HasLegend = False '凡例を表示しない .ChartArea.Border.LineStyle = xlNone 'グラフエリアの線をとる .PlotArea.ClearFormats 'プロットエリアの書式のクリア .ApplyDataLabels 'ラベルの作成 .SeriesCollection(1).Points(2).DataLabel.Text = "" '2つ目のラベルは削除 With .SeriesCollection(1).Points(1).DataLabel .Text = arg_rChart(1).Text .Font.Size = 6 End With End With End With End Sub これで実行すると、確かに、1つ目のデータラベルだけ表示されるのですが、プロットエリアがひどく小さくなり(円グラフがめっちゃ小さくなってしまう)、ラベルも縦書き・・とはではいかないのですが、非常に読みにくい、体裁の悪い形になってしまいます。 もともとグラフをはめ込むスペースが小さいので、なかなか体裁良く・・とはいかないかもしれませんが、今のままではあまりにも円が小さく不格好です。 そのへんを調整するには、どう設定すればいいでしょうか? よろしくお願いします。 |
すんません。 自己解決しました。 > With .SeriesCollection(1).Points(1).DataLabel .Position = xlLabelPositionInsideEnd > .Text = arg_rChart(1).Text > .Font.Size = 6 > End With 上記のように、データラベルをグラフの中に入れたらOKでした。 グラフは、一般操作でもあまり扱ったことなくて、 そういう設定が出来ることもわかってへんかったです(^^; それ発見して、マクロの自動記録で出来ました。 あとは、グラフの色をちょっと調整してやれば、なんとか出来そうです。 ただ・・・グラフエリアに対して、やっぱりプロットエリアが狭い感じ・・・ もともと狭い個所に描くので、できたらもう少し広く出来たらいいのになあ。 そのへん、もう少し工夫できるか頑張ってみます。 また、よいやり方ありましたら、教えていただけたら嬉しいです。 よろしくお願いします。 |