I am having a lot of trouble with some array code here - If I run this:
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
Then I get error 9 - subscript out of range on the line in the for loop - and when I watch the variable 'i' it tells me the value of i is one... so this occurs on the first instance of the for loop.
Can anyone help me see what I am doing wrong here?
Thanks everyone.
Joe
When you set a range to an array like that, VBA automatically makes it a 2-dimensional array. So you need to reference it like this:
MsgBox PipeBArray(i, 1)
rather than:
MsgBox PipeBArray(i)
I would recommend this link for more information.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With