对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
非常感谢任何帮助!
答案 0 :(得分:0)
尝试使用Redim Preserve:
Dim AverageSection() As String
For section = 1 To PhraseSections
Redim Preserve AverageSection(section)
...
Next section
这有帮助吗?