| 
    
     |  | はじめまして!よろしくお願い致します。 (※当方Excel 2003ユーザーです。)
 
 円グラフを作成したとき、
 値がゼロまたは空欄の場合は円グラフのデータラベルに"0%"が表示されてしまいますが、これを自動的に0%という値と、0%だった項目(凡例内)を削除するVBを作りたいと思っております。
 
 イメージ的には、
 
 A   B   C
 パーセント 10%  0%  90%
 
 を元データにした円グラフで、データラベルはそれぞれ
 
 A…10%, B…0%, C…90%と表示されているのを、
 「B」の"0%"を削除して、データラベルの表示を
 A…10%, C…90% のみにしたいのです。
 
 また、円グラフの横に表示される「凡例」からも、0%であった「B」の項目は表示から消したいと思っております。
 
 既に作成してしまっているグラフとファイルが大量にあることもあり、更に元データをなるべくいじりたくないことから、グラフを作る段階で"0%"の表示を防止するのではなく、直接グラフの表示を修正するようなVBAを作りたいのですが、超初心者ゆえに技量が足りずなかなかうまくいきません。。
 
 色々サイトを除いてまずはデータラベルの値を消すVB(下)を書いてみましたが、やはり仕組みが分かっていないためか、エラー438が出て止まってしまいました。><
 
 Sub ゼロを削除()
 
 Dim k As Integer
 Dim co As ChartObject
 Dim pp As Point
 
 k = 0
 Do
 k = k + 1
 Set co = ActiveSheet.ChartObjects(k)
 co.Activate
 For Each pp In co.Chart.SeriesCollection(1).Points
 If pp = "0%" Then
 ActiveChart.SeriesCollection(1).DataLabels.Delete
 End If
 Next
 Loop
 End Sub
 
 どなたかご教授いただけますでしょうか?m(_ _)m
 
 大変お手数ですが、宜しくお願い致します。><
 ※お返事が少々遅くなってしまうかもしれないのですが、必ずお返事いたしますので宜しくお願い致します。
 
 |  |