2013-05-21 56 views
1

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 

任何幫助將不勝感激!

回答

0

嘗試使用Redim Preserve

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

這是否幫助?

+0

@cricialfix太簡單了!我會研究這意味着什麼 - 希望這不會太過頭。非常感謝! – LeeLK

相關問題