使用动态索引VBA定义范围

时间:2012-07-26 14:15:57

标签: vba range

我正在使用VBA与MS Excel中的图表生成战斗。

这是我的代码>

的一个子代码
Sub fundamentalChart()
Dim fundamental As Chart
Dim trData As Range
Dim Qc1 As Range
Dim i As Integer
Dim clmLetter As String

'*******************************
'just for testing
Dim clmNumber(10) As Integer
clmNumber(1) = 43
'{43,46,49,52,55,58,61,64,67,70}
WSName = "2030184"
QcCount = 10
'*******************************

Set trData = Worksheets(WSName).Range("$D$1:$D$431224, $G$1:$G$431224")
Set fundametnal = Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=trData
ActiveChart.Name = WSName & "Fundamental"

For i = 1 To QcCount

Set Qc1 = Worksheets(WSName).Range(Cells(1, clmNumber(i)), Cells(43124, clmNumber(i))) 
With ActiveChart.SeriesCollection.NewSeries
        .Name = "Qc" & i
        .Values = Qc1
        .XValues = Worksheets(WSName).Range("$D$1:$D$431224")
End With
Next i

End Sub

当我尝试添加新系列集时,会出现问题。我对值(QC1)的RANGE定义有问题。在我的代码中,clmNumber(上面明确说明)是一个(公共)数组,它到达不同的维度并包含不同的值(它指出包含该系列值的列号)。

当列索引获得不同的值(存储在clmNumber中)时,如何定义范围?

谢谢。

0 个答案:

没有答案