我正在尝试根据电子表格中的不同位置填充数组的不同部分。
例如
Dim prices(50) as double
prices(0, 1, 2) = Range("i35", "i38")
prices(3,4,5,6,7,8) = Range("b7","b12")
我的维度错误数量错误,因为我假设您必须立即填充整个内容。还有另一种语法可以做得更好,还是只是VBA的限制?
每个循环可能是一个?但这并不是真的有用,因为有很多不同的范围。
感谢您的帮助
答案 0 :(得分:1)
看起来你试图告诉VBA数组括号中的数字列表是一个接收多个项目的数组中的位置。
那不是它的本质。相反,您一次只能做一个。例如:
Dim prices(50) as double
' My range syntax might be wrong here.
prices(0) = Range("i35", "i35")
prices(1) = Range("i36", "i36")
prices(2) = Range("i37", "i37")
prices(3) = Range("i38", "i38")
...等。或者,如果您不熟悉编程,那么您会发现这很酷:
for CounterVariable = 0 to 3
prices(CounterVariable) = Range("i" & 35 + CounterVariable)
next CounterVariable
要见...
Dim prices(50)
的数组会有一个'维度,就像一条直线。Dim prices(50,60)
您将拥有一个二维数组,如笛卡尔平面(x,y)或50x60单元格电子表格,其中第一个数字就像字母,第二个数字就像编号的行