Arrays 从电子表格的不同部分在VBA中填充数组
我试图根据电子表格中的不同位置填充数组的不同部分 比如说Arrays 从电子表格的不同部分在VBA中填充数组,arrays,vba,excel,Arrays,Vba,Excel,我试图根据电子表格中的不同位置填充数组的不同部分 比如说 Dim prices(50) as double prices(0, 1, 2) = Range("i35", "i38") prices(3,4,5,6,7,8) = Range("b7","b12") 我得到了一个错误的维数错误,因为我假设你必须一次填充整个东西。是否有其他语法可以更好地做到这一点,或者它只是VBA的一个限制 每个循环可能有一个循环?但这并没有真正的帮助,因为有很多不同的范围 感谢您的帮助看起来您正试图告诉VBA数
Dim prices(50) as double
prices(0, 1, 2) = Range("i35", "i38")
prices(3,4,5,6,7,8) = Range("b7","b12")
我得到了一个错误的维数错误,因为我假设你必须一次填充整个东西。是否有其他语法可以更好地做到这一点,或者它只是VBA的一个限制
每个循环可能有一个循环?但这并没有真正的帮助,因为有很多不同的范围
感谢您的帮助看起来您正试图告诉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)
- 在电子表格中画一行,50列长
- 如果你说
你会有一个二维数组,像笛卡尔平面(x,y)或一个50x60单元格的电子表格,其中第一个数字像字母,第二个像编号的行Dim prices(50,60)
- 有些语言支持三维数组-VariableName(x,y,z)。不知道VBA是否有
- 因此,VBA支持在数组后使用括号中的逗号 但是它意味着与您希望的完全不同的东西(您不能改变这一点):维度的值
- 因此,您的最后一行代码是在6维宇宙中寻找一些值!所以我们有,高度,宽度,深度,时间,特泽拉特,还有,呃,你在这方面打败了我李>