2016-06-07 90 views
0

我正在寫一個宏,它基於Excel表中的數據創建一個簡單的圖表。我希望能夠從我桌子上的5個不同列中選擇。這些列被命名如下:Excel VBA - 爲圖表數據的目的選擇多個表列

「日曆日期」 < - 我想這是我的x軸

「AHT」,「目標AHT」 < - 這將是我的首要Y-軸

「轉讓」,「轉讓目標」 < - 次Y軸

我不確定如何選擇我的圖表數據的多個表列。如果我選擇1個單列,並且vba看起來沒有像範圍obj那樣工作(即範圍(「A:B,D:D,F:G」), ))。

編輯:在我的表,我需要使用的列2和9:12

Sub myChart() 

Dim myChart As Chart, cht As ChartObject 
Dim rngChart As Range, destSht As String 

destSht = ActiveSheet.Name 
Set myChart = Charts.Add 
Set myChart = myChart.Location(where:=xlLocationAsObject, Name:=destSht) 

*****My issue is with selecting multiple table columns below***** 
myChart.SetSourceData Source:=ActiveSheet.ListObjects("Table1").ListColumns(2), PlotBy:=xlColumns 
myChart.ChartType = xlColumnClustered 

ActiveSheet.ChartObjects(1).Activate 

Set cht = ActiveChart.Parent 
Set rngChart = Range("A1100:K1115") 

cht.Left = rngChart.Left 
cht.Top = rngChart.Top 
cht.Width = rngChart.Width 
cht.Height = rngChart.Height 

Range("A2").Select 

End Sub 

回答

0

包含這樣的代碼:

Dim rngData As Range 

With ActiveSheet.ListObjects("Table1").DataBodyRange 
    Set rngData = Union(.Columns(2), .Columns(9), Columns(10), _ 
     .Columns(11), .Columns(12)) 
End With 

myChart.SetSourceData Source:=rngData, PlotBy:=xlColumns