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 に答える