Excel VBA質問箱 IV

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

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


28308 / 76732 ←次へ | 前へ→

【53724】Re:外部エクセルファイルの特定のグラフからパーセントの値を取得する方法
回答  りん E-MAIL  - 08/2/5(火) 8:20 -

引用なし
パスワード
   かおり さん、おはようございます。

>どうしても下記の部分で「実行時エラー'1004'アプリケーション定義またはオブジェクト定義のエラーです」と出て止まってしまいます。

>ちなみに環境はExcel2000です。
XL2KとXLXP(私の標準環境)でApplyDataLabelsの名前付き引数が変更になっているためでした、ついでに試したらXL2007でもうまくいかなかったので、いろいろと変更しました。

Sub Macro1()
  Dim co As ChartObject, pp As Point, DT As Variant, sc As Series
  For Each co In ActiveSheet.ChartObjects
   '単体の円グラフなら処理
   Select Case co.Chart.ChartType
     Case xlPie, xl3DPie, xlPieExploded, xl3DPieExploded
      'データラベルを表示 例)『4月;10%』
      '//////////////////////////////////////////////////////////////
      '共通で使える名前付き引数はこんな感じ
      co.Chart.SeriesCollection(1).ApplyDataLabels _
           Type:=xlDataLabelsShowLabelAndPercent, _
           AutoText:=True, _
           LegendKey:=False, _
           HasLeaderLines:=False
      'データラベルの内容を表示
      For Each pp In co.Chart.SeriesCollection(1).Points
        '分割(デフォルトはvbLf)
        DT = Split(pp.DataLabel.Caption, vbLf)
        '結果
        MsgBox DT(1), vbInformation, DT(0)
      Next
      co.Chart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowNone
   End Select
  Next
End Sub

こんな感じです。

ちなみに、
XL2000→引数が違ってて1004エラー(引数を絞って対応)
XL2007→ラベルをCharacters.Textで正しく取得できなくてエラー(Captionに変更)

ということで、前回のコードではXLXPでしかまともに動かないというおそまつw
遅くなって&ややこしくしてすみませんでした。

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 お礼

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