好的,所以我在这里找到了解决这个问题的方法,但它不在 VBA 中,所以我只需要正确的语法来从数组中提取信息。
我已经从工作表上的范围定义了一个数组。我发现这实际上不是我最初想到的一维数组,即使二维参数只是 1。
现在我只是试图循环遍历数组以帮助我了解它们是如何工作的,但我得到了一个下标超出范围的错误。
Dim arr1 As Variant
Dim e As Variant
arr1 = Array(ActiveSheet.Range("A1:A4"))
For e = LBound(arr1) To UBound(arr1)
MsgBox (arr1(e, 1))
Next e
如何修复
MsgBox (arr1(e,1))
线?
最佳答案
有几个问题:
Array(..)
为数组分配范围时 所以在这里:
Dim arr1 As Variant
Dim e As Long
arr1 = ActiveSheet.Range("A1:A4").Value
For e = LBound(arr1,1) To UBound(arr1,1)
MsgBox arr1(e, 1)
Next e
关于arrays - VBA - 通过范围定义的二维数组循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39666187/