Vba 如何声明数量可变的索引字符串?
我希望声明多个变量,并且要声明的变量数量取决于输入,因此类似于:Vba 如何声明数量可变的索引字符串?,vba,excel,Vba,Excel,我希望声明多个变量,并且要声明的变量数量取决于输入,因此类似于: 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) = In
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行得到了“需要常量表达式”错误。
非常感谢您的帮助……我想应该是文字(i)。不是绳子。另外,我认为你不会接受这样的变量。应该是我认为的单词(i)。不是绳子。此外,我不认为dim会以这种方式接受变量。使用以下子项:
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
使用以下子项:
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
执行此操作的方法是,首先无边界声明数组,然后重新命名它:
Dim Words() As String
'Other code
ReDim Words(1 To TotalNumber)
在代码的后续过程中,您甚至可以扩展数组。但是为了避免数组被破坏,您添加了Preserve关键字:
TotalNumber = TotalNumber + 1
ReDim Preserve Words(1 To TotalNumber)
编辑以删除重拨后的“作为字符串”。再次编辑以添加Preserve关键字。执行此操作的方法是首先声明无边界数组,然后重新命名它:
Dim Words() As String
'Other code
ReDim Words(1 To TotalNumber)
在代码的后续过程中,您甚至可以扩展数组。但是为了避免数组被破坏,您添加了Preserve关键字:
TotalNumber = TotalNumber + 1
ReDim Preserve Words(1 To TotalNumber)
编辑以删除重拨后的“作为字符串”。再次编辑以添加保留关键字。您必须使用
ReDim
likeReDim Words(TotalNumber)
重新调整数组长度。您必须使用ReDim
likeReDim Words(TotalNumber)
重新调整数组长度。谢谢!就这样。我不知道尺寸必须单独定义。谢谢!就这样。我不知道尺寸必须单独定义。