我正在创建一个概率宏,用户输入一个大于零的整数。然后,此整数创建与其值相同数量的字符串(如果整数为5,则创建5个字符串,然后创建字符串The users name is <%= user.name %>.
,"Player1"
... "Player2"
)。最简单的方法是什么?
现在我正在使用:
"Player5"
当我运行此功能时,我得到:
编译错误:
需要常量表达
答案 0 :(得分:0)
你不能Dim 1 to n
,但可以Redim
:
类似的东西:
Dim Player(1 To 15)
Dim intMaxPlayer as Integer
intMaxPlayer = 10
...
ReDim player(1 to intMaxPlayer)
此外,您的Players
循环
Do Until
答案 1 :(得分:0)
我可能在这里忽略了这一点,但我不明白为什么你需要一个数组。这将创建x字符串“Player1”“Player2”...“Playerx”:
Sub FunctionPlayersCount()
Dim a As Integer
a = 1
Do While a <= NumPlayers
MsgBox "Player" & CStr(a)
a = a + 1 ' add 1 each time, approaching NumPlayers value
Loop
End Sub
答案 2 :(得分:0)
根据玩家数量创建一个数组。您需要使用ReDim
才能将变量用于数组大小:
intPlayers = 5
ReDim Players(1 To intPlayers) As String
使用For
循环填充数组...
For i = 1 To UBound(Players)
Players(i) = "Player" & i
Next
现在你有一个名为Players
的五元素数组,其中包含五个"PlayerX"
字符串。