2017-08-03 6 views
0

テーブルからグラフを生成しています。テーブル行は完全には埋められません。グラフの空白行の値を削除します

グラフを生成しているときに、塗りつぶされていない列の値も「0」となります。私は私のチャートに「0」(空白行の値」)を削除したいと思います。私はこれを行うことができる方法が ありますか?どんなリードが参考になる

Sub chartResult() 
Dim rng As Range 
Dim cht As Object 
Set rng = ActiveSheet.Range("B2:D53") 
ThisWorkbook.Sheets("Result").ChartObjects.delete 
Set sh = ActiveSheet.ChartObjects.Add(Left:=440, _ 
    Width:=600, _ 
    Top:=340, _ 
    Height:=250) 
sh.Select 
Set cht = ActiveChart 
With cht 
.SetSourceData Source:=rng 
.ChartType = xlColumnClustered 
End With 
cht.SeriesCollection(1).name = "Ov" 
cht.SeriesCollection(2).name = "O" 
cht.SeriesCollection(3).name = "To" 

cht.SeriesCollection(1).HasDataLabels = True 
cht.SeriesCollection(2).HasDataLabels = True 
cht.SeriesCollection(3).HasDataLabels = True 
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(72, 118, 255) '<~~ Red 
cht.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) 
cht.SeriesCollection(3).Format.Fill.ForeColor.RGB = RGB(0, 167, 0) 
cht.HasTitle = True 
cht.ChartTitle.Text = "Result " 
End Sub 

this is the sample image of my graph. I would like to remove all the zero values.IS there a way could do

+0

ラベルに「0」だけを削除することはできません。まったく存在しないように完全に削除したいのですか? – L42

+0

私はそれらを完全に削除したいだけです。そのような方法で何か。それは私のチャートにはもう存在しません。 – Jenny

答えて

0

プロパティを試してみてくださいChart.DisplayBlanksAsxlNotPlottedを設定します。

だからコードに変更がwith声明の中で、以下のように何いくつかを探します。

With cht 
.SetSourceData Source:=rng 
.ChartType = xlColumnClustered 
.DisplayBlanksAs = xlNotPlotted //ADD THIS STAEMENT. 
End With 
+0

それでも私は同じグラフを見ることができました – Jenny

+0

私はデバッグしていますが、xlnotplottedは1 – Jenny

+0

@Jennyです。このリンクをご覧ください:https://msdn.microsoft.com/en-us/vba/excel -vba/articles/xldisplayblanksas-enumeration-excel – Naidu

0

@ジェニー - これは動作するとは保証できません。私はチャートでは動作しませんが、試してみてください。

With cht 
.SetSourceData Source:=rng 
.ChartType = xlColumnClustered 
.PivotItems("0").Visible = False 
End With 
関連する問題