简体   繁体   English

Excel VBA-选择多个表列以用于图表数据

[英]Excel VBA - Selecting multiple table columns for purposes of chart data

I am writing a macro that creates a simple chart based on data from an excel table. 我正在编写一个宏,该宏根据excel表中的数据创建一个简单的图表。 I would like to be able to select the from 5 different columns on my table. 我希望能够从表的5个不同的列中进行选择。 Those columns are named as followed: 这些列的名称如下:

"Calendar date" <-- I would like this to be my x-axis “日历日期” <-我希望这是我的x轴

"AHT", "Target AHT" <-- These would be my primary y-axis “ AHT”,“目标AHT” <-这是我的主要y轴

"Transfer", "Target Transfers" <-- Secondary y-axis “转移”,“目标转移” <-次要y轴

I am unsure how to select multiple table columns for my chart data. 我不确定如何为我的图表数据选择多个表列。 I can only get it to work if I select 1 single column, and vba doesn't appear to work the same way as it would for a range obj (ie, range("A:B, D:D, F:G")). 我只能在选择1个单列的情况下使其工作,并且vba的工作方式似乎与范围obj的工作方式不同(即range(“ A:B,D:D,F:G” ))。

EDIT: The columns in my table that I need to use are 2 and 9:12 编辑:我需要使用的表中的列是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

Include code like this: 包括这样的代码:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM