Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA循环中的变量_Vba - Fatal编程技术网

VBA循环中的变量

VBA循环中的变量,vba,Vba,我正在尝试使用循环和变量运行VBA应用程序,这些变量的名称取决于我在循环中的位置。特别是像 Dim i As Integer i = 1 Dim varname() As String while i < 50 varname(i) = asdasd i = i + 1 Wend Dim i作为整数 i=1 Dim varname()作为字符串 当我

我正在尝试使用循环和变量运行VBA应用程序,这些变量的名称取决于我在循环中的位置。特别是像

Dim i As Integer
i = 1
Dim varname() As String
while i < 50
varname(i) = asdasd
i = i + 1
Wend
Dim i作为整数
i=1
Dim varname()作为字符串
当我<50
varname(i)=asdasd
i=i+1
温德
不知怎么的,它读不懂varname(i)或其他什么。它报告下标超出范围。

我不知道问题出在哪里,也许有人能帮我吗?

您需要先为阵列提供容量

Sub max()

Dim i As Integer
i = 1

Dim varname() As String
ReDim varname(49) '<---- There

While i < 50
varname(i) = asdasd
i = i + 1
Wend


End Sub
Sub-max()
作为整数的Dim i
i=1
Dim varname()作为字符串

雷迪姆·瓦纳姆(49)“啊,好的。我可以在不破坏现有变量的情况下,在以后更新ReDim吗?因为我的实际代码中的维度将取决于一些if结果。。因此,在开始时,我不知道需要的变量的最终数量。是的,在那里使用的命令将是
ReDim Preserve
我认为您可以只使用
Dim varname(49)作为字符串
,而无需
ReDim