我想根据变量的值读取数组元素的值:
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
一切正常。当我尝试像[delete!(df, colname) for df in [df1, df2, df3], colname in [:col2,:col5]];
这样的事情时,我会遇到错误。
我做错了什么?如何根据变量的值访问这些数组条目?
答案 0 :(得分:0)
您只是错误地访问它们。让我给你一些有用的东西的例子。
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不适合你呢?
答案 1 :(得分:0)
(代表OP发布)。
原来这个代码有效。我所做的只是重启Excel!可能是一个错误。