繁体   English   中英

使用变量访问Excel VBA中的3维数组元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM