[英]Use variables to access 3 dimensional array elements in Excel VBA
我想基于变量的值读取数组元素的值:
Public Array1(3, 3) As String
Public Var1 As Integer
Public Var2 As Integer
...
Var1 = 1
Var2 = 1
Array1(1, 1) = "The_string"
我希望MsgBox Array1(Var1, Var2)
显示The_string
但不会显示。 我收到空消息。 如果我尝试MsgBox Array1(1, 1)
一切正常。 当我尝试诸如.Value
事情时,我会收到错误消息。
我究竟做错了什么? 如何根据变量值访问这些数组条目?
您只是错误地访问了它们。 让我给您一些有用的事例收费。
rCell.Offset(0, 1).Value = A(ArCount, 1)
以上表示rCell的1个空间= A(x,1)。 注意我不说.Value吗?
For i = LBound(MyArray, 1) To UBound(MyArray, 1)
j = CLng(((UBound(MyArray) - i) * Rnd) + i)
If i <> j Then
Temp = MyArray(i)
MyArray(i) = MyArray(j)
MyArray(j) = Temp
End If
Next i
此代码是数组的基本随机排序。 数组声明和变量赋值形成该状态的好例子。
A(count, 5) = arrResults(z, 5)
这是一个很漂亮的负载,很难描述没有上下文。 只是另一个例子。
BlockEnd = GradCFArray(j + 1, k)
另一个例子。
我猜您正在访问数组内容。 数组本身不是“值”,但它拥有一个值。 那就是为什么.value对您不起作用的原因?
(代表OP张贴) 。
原来这段代码行得通。 我所做的就是重新启动Excel! 可能是一个错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.