2017-07-28 101 views
3

我有一個表格,想從中生成圖表。問題是我想只有列值A,F,G和H.系列在圖表中刪除

我試過了seriescollection(1).deletion方法。但我仍然在圖表中獲得B列和C列。

任何人都可以告訴我怎麼做。 任何鉛將是有益的

Sub chartstatus() 
Dim Rng As Range 
Dim cht As Object 

Set Rng = ActiveSheet.Range("A2:H53") 
ThisWorkbook.Sheets("Status").ChartObjects.delete 
Set Sh = ActiveSheet.ChartObjects.Add(Left:=650, _ 
    Width:=600, _ 
    Top:=80, _ 
    Height:=250) 

Sh.Select 

Set cht = ActiveChart 
With cht 
.SetSourceData Source:=Rng 
.ChartType = xlColumnClustered 
cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.%" 

End With 


cht.SeriesCollection(6).Name = " % Missing " 
cht.SeriesCollection(7).Name = " % OnTime" 
cht.SeriesCollection(8).Name = " % Delayed" 


cht.SeriesCollection(6).HasDataLabels = True 
cht.SeriesCollection(7).HasDataLabels = True 
cht.SeriesCollection(8).HasDataLabels = True 
cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 255, 255) '<~~ Red 

cht.HasTitle = True 
cht.ChartTitle.Text = "Result " 
End Sub 
+0

誰能幫我該怎麼辦呢 – Jenny

+0

我在這裏幫你https://stackoverflow.com/questions/ 45345406 /格式與圖表,但由於某種原因,你再次使用你的舊代碼 –

+0

@ShaiRado請不要錯,現在的問題是不同的。我問我如何刪除系列。 – Jenny

回答

3

您可以結合2範圍分爲1範圍

Dim Rng As Range 
Dim Rng_A As Range 
Dim Rng_FH As Range 
Set Rng_A = ActiveSheet.Range("A2:A52") 
Set Rng_FH = ActiveSheet.Range("F2:H52") 
Set Rng = Union(Rng_A, Rng_FH)