arrays不一致
我在这里有一些数组代码很麻烦 – 如果我运行这个:
Sub ArrayRunner() Dim PipeBArray() As Variant Dim i As Integer PipeBArray = ThisWorkbook.Sheets(1).Range("A1:A6").Value MsgBox Str(UBound(PipeBArray)) & Str(LBound(PipeBArray)) For i = LBound(PipeBArray) To UBound(PipeBArray) MsgBox PipeBArray(i) Next i MsgBox "Done!" End Sub
然后我得到错误9 – 下标超出范围在for循环的行 – 当我看着variables'我'它告诉我的值是一…所以这发生在for循环的第一个实例。
任何人都可以帮我看看我在这里做错了吗?
感谢大家。
乔
当你将一个范围设置为这样的数组时,VBA会自动将其设置为一个二维数组。 所以你需要像这样引用它:
MsgBox PipeBArray(i, 1)
而不是:
MsgBox PipeBArray(i)
我会推荐这个链接的更多信息。
也想补充一点
Dim Temp As Variant Dim Dict As New Dictionary ' fill dictionary here Temp = Dict.Items
创build一维数组。 我只是与上面提到的麻烦相反。
问候,乔