1

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

任何帮助将不胜感激!

4

1 回答 1

0

尝试使用Redim Preserve

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

这有帮助吗?

于 2013-05-21T17:49:47.167 回答