2017-08-03 127 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.DisplayBlanksAs並設置xlNotPlotted

所以在代碼的變化看起來有些在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 /用品/ xldisplayblanksas枚舉,Excel中 – Naidu

0

@Jenny - 我不能保證這會工作,我不使用圖表,但試試看。

With cht 
.SetSourceData Source:=rng 
.ChartType = xlColumnClustered 
.PivotItems("0").Visible = False 
End With