如何声明可变数量的索引string?

我希望声明多个variables,并声明variables的数量取决于一个input,所以它是这样的:

Sub Main() Dim TotalNumber As Long TotalNumber = InputBox("Please enter total number of words") Dim i As Long Dim MsgDisp As String Dim Words(1 To TotalNumber) As String For i = 1 To TotalNumber String(i) = InputBox("Please type the words for number " & i) MsgDisp = MsgDisp & String(i) & Chr(10) Next i MsgBox(MsgDisp) End Sub 

我在第6行得到了“需要的常量expression式”的错误。任何帮助表示赞赏…

做到这一点的方法是首先声明无限制的数组,然后调整它:

 Dim Words() As String 'Other code ReDim Words(1 To TotalNumber) 

在代码的进一步过程中,您甚至可以扩展数组。 但是为了避免数组被zapped,你添加了Preserve关键字:

 TotalNumber = TotalNumber + 1 ReDim Preserve Words(1 To TotalNumber) 

编辑删除后的“作为string”。 再次编辑添加Preserve关键字。

应该是言语(我)我认为。 不是string。 另外,我不认为你是昏暗的会接受一个variables的方式。

使用下面的子:

  Sub Main() Dim TotalNumber As Long TotalNumber = Val(InputBox("Please enter total number of words")) Dim i As Long Dim MsgDisp As String Dim Words() As String ReDim Words(TotalNumber) For i = 1 To TotalNumber Words(i) = InputBox("Please type the words for number " & i) MsgDisp = MsgDisp & Words(i) & Chr(10) Next i MsgBox MsgDisp End Sub