Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


28340 / 76732 ←次へ | 前へ→

【53691】Re:外部エクセルファイルの特定のグラフからパーセントの値を取得する方法
発言  りん E-MAIL  - 08/2/1(金) 19:51 -

引用なし
パスワード
   かおり さん、こんばんわ。

>区分が「4月」「5月」「6月」「7月」とあって、それぞれ全ての%の値を取得したいと考えています。

>グラフの表示のパーセントから直接値を取得することは不可能なのでしょうか?
>自分なりにいろいろ検索してみましたが、グラフの値を直接取得するコードが見当たりませんでした。
直接取得する方法は私も知りませんが、よそのブックを処理するということなので、保存せずに閉じるなら、データラベルを設定してその値を読み取ってみてはいかがでしょうか。

アクティブなシートに円グラフを置いて試してみてください。
Sub Macro1()
  Dim co As ChartObject, pp As Point, DT As Variant
  For Each co In ActiveSheet.ChartObjects
   '単体の円グラフなら処理
   Select Case co.Chart.ChartType
     Case xlPie, xl3DPie, xlPieExploded, xl3DPieExploded
      'データラベルを表示 例)『4月;10%』
      co.Chart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:=False, _
         HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:=True, _
         ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False, Separator:="; "
      'データラベルの内容を表示
      For Each pp In co.Chart.SeriesCollection(1).Points
        '分割
        DT = Split(pp.DataLabel.Characters.Text, ";")
        '結果
        MsgBox DT(1), vbInformation, DT(0)
      Next
      'データラベル非表示
      co.Chart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:=False, _
         HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:=False, _
         ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
   End Select
  Next
End Sub

こんな感じです。
1 hits

【53688】外部エクセルファイルの特定のグラフからパーセントの値を取得する方法 かおり 08/2/1(金) 14:47 質問
【53691】Re:外部エクセルファイルの特定のグラフか... りん 08/2/1(金) 19:51 発言
【53718】Re:外部エクセルファイルの特定のグラフか... かおり 08/2/4(月) 17:00 質問
【53724】Re:外部エクセルファイルの特定のグラフか... りん 08/2/5(火) 8:20 回答
【53740】Re:外部エクセルファイルの特定のグラフか... かおり 08/2/5(火) 14:28 お礼

28340 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free