I want to append an array with a number depending on the condition of various variables. Here is the code I've come up with: I begin with an empty array.
Sub makeArr()
Dim myArr() As Integer
If box1 = True Then
ReDim Preserve myArr(LBound(myArr) To UBound(myArr) + 1)
myArr(UBound(myArr)) = 1
End If
If box2 = True Then
ReDim Preserve myArr(LBound(myArr) To UBound(myArr) + 1)
myArr(UBound(myArr)) = 2
End If
End Sub
Obviously this is an example so not the most elegant way of putting it but it doesn't work as I can't seem to reDim the array as it doesn't initially have a ubound
or an lbound
. When I dim it as myArr(0 to 0)
this also fails.
Any ideas?
Before using the myArr
array the first time, run this:
ReDim Preserve myArr(0 To 1)
Then when you come to the dynamic ReDim
statement, only use ReDim
if certain conditions are met, e.g. If UBound(myArr) > 1 then
etc.
If box1 = True Then
If UBound(myArr) > 1 Then
ReDim Preserve myArr(LBound(myArr) To UBound(myArr) + 1)
End If
myArr(UBound(myArr)) = 1
End If
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