Excel VBA質問箱 IV

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

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


24676 / 76732 ←次へ | 前へ→

【57404】Re:エラーが出てしまいました;
発言  りん E-MAIL  - 08/8/18(月) 22:10 -

引用なし
パスワード
   ドラキー さん、こんばんわ。

>(A)
>「実行時エラー'1004'
>LegendEntryクラスのDeleteメソッドが失敗しました。
こっちはまだ再現できていませんが、

>(B)
>「実行時エラー'1004'
>凡例には最低1つの凡例文字列が含まれていなければなりません。」
見えないところにデータのないグラフがあるのかもしれませんね。

実物をみていないのでなんともいえませんが、ログをとってみれば何かわかるかもしれません。

Sub test()
  On Error GoTo errlogs
  Dim co As ChartObject, sc As Series, pt As Point
  Dim II As Long, Imax As Long, Hmax As Long
  '
  'アクティブなシートが対象
  With Application.ActiveSheet
   '埋め込みグラフでループ
   For Each co In .ChartObjects
     With co.Chart
      '系列は1
      Set sc = .SeriesCollection(1)
      'データの数
      Imax = sc.Points.Count
      '凡例に表示されている数
      If .HasLegend = False Then
        Hmax = 0
      Else
        Hmax = .Legend.LegendEntries.Count
      End If
     End With
     '
     '削除は後ろからが無難
     For II = Imax To 1 Step -1
      Set pt = sc.Points(II)
      '値がゼロ
      If sc.Values(II) = 0 Then
        'ラベルがあれば削除
        If pt.HasDataLabel = True Then
         pt.DataLabel.Delete
        End If
        'データ数と凡例表示数が一致する時だけ処理
        If Hmax = Imax Then
         co.Chart.Legend.LegendEntries(II).Delete
        End If
      End If
     Next
   Next
  End With
Exit Sub
'エラーになったらイミディエイトウィンドウにログ追加
errlogs:
  Debug.Print "Err" & Err.Number, co.Parent.Name & "の"; co.TopLeftCell.Address & "にある" & co.Name, Error(Err.Number)
  Resume Next '復帰
End Sub

イミディエイトウィンドウの内容で、どのグラフでどんなエラーが発生したのか、そのグラフが他のとどう違うか確認してみてください。

5 hits

【57352】円グラフのデータラベルが0%だった場合にラベルと凡例を削除したい ドラキー 08/8/12(火) 17:31 質問
【57353】Re:円グラフのデータラベルが0%だった場合... りん 08/8/12(火) 18:32 回答
【57401】エラーが出てしまいました; ドラキー 08/8/18(月) 17:03 質問
【57404】Re:エラーが出てしまいました; りん 08/8/18(月) 22:10 発言
【57423】見えないグラフとグラフエリアのサイズ変更 ドラキー 08/8/21(木) 15:20 質問
【57426】グラフエリアのサイズ変更 ドラキー 08/8/21(木) 16:30 発言
【57446】Re:グラフエリアのサイズ変更 りん 08/8/23(土) 21:19 発言
【57470】ありがとうございました! ドラキー 08/8/25(月) 17:50 お礼

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