Excel VBA:将列表定义为String时使用变量

时间:2013-05-21 17:17:37

标签: variables loops excel-vba vba excel

对VBA来说很新,但我很快就学会了。

我终于习惯了使用循环来执行重复性任务,在这种情况下,我希望每次通过循环来定义一个不同的变量。我将列表定义为字符串,并将值推送到每个循环的列表的每个部分。

显然,循环的数量是可变的,所以我需要将定义列表的终点作为变量。从我搜索过的内容来看,这是不可能的?我得到了“需要持续表达”错误。

这是代码(lastRow已经定义):

NextAverage = 0
section = 1
Dim AverageSection(1 To section) As String
For section = 1 To PhraseSections

ActiveCell.Formula = "=MATCH(""average"",A" & NextAverage + 1 & ":A" & lastRow & ",0)"
Selection.Offset(1, 0).Select
ActiveCell.Formula = "=SUM(G1:G" & section & ")"
NextAverage = ActiveCell.Value
AverageSection(section) = ActiveCell.Value

Next section

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试使用Redim Preserve

Dim AverageSection() As String
For section = 1 To PhraseSections
    Redim Preserve AverageSection(section)
    ...
Next section

这有帮助吗?