Function append(arr() As String, sNew As String, Optional collapse As Boolean = False)
Dim aTemp() As String
Dim i As Integer
Dim count As Integer
If arr(0) = "" Then
arr(0) = sNew
Else
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = sNew
End If
If collapse Then
ReDim aTemp(UBound(arr))
count = 0
For i = 0 To UBound(arr)
If arr(i) <> "" Then
aTemp(count) = arr(i)
count = count + 1
End If
Next i
ReDim Preserve aTemp(count - 1)
append = aTemp()
Else
append = arr()
End If
End Function
Sub Test1()
Dim aMyArray() As String
ReDim aMyArray(0)
aMyArray = append(aMyArray, "New Member")
Range("A1").Value = aMyArray(0)
End Sub
Sub Test2()
Dim aMyArray() As String
Dim i As Integer
ReDim aMyArray(0 To 1)
aMyArray(0) = "First Member"
aMyArray(1) = "Second Member"
aMyArray = append(aMyArray, "New Member")
For i = 0 To UBound(aMyArray)
Cells(i + 1, 1).Value = aMyArray(i)
Next i
End Sub
Sub Test3()
Dim aMyArray() As String
Dim i As Integer
ReDim aMyArray(0 To 3)
aMyArray(0) = "First Member"
aMyArray(1) = "Second Member"
aMyArray = append(aMyArray, "New Member")
For i = 0 To UBound(aMyArray)
Cells(i + 1, 1).Value = aMyArray(i)
Next i
End Sub
Sub Test4()
Dim aMyArray() As String
Dim i As Integer
ReDim aMyArray(0 To 3)
aMyArray(0) = "First Member"
aMyArray(1) = "Second Member"
aMyArray = append(aMyArray, "New Member", True)
For i = 0 To UBound(aMyArray)
Cells(i + 1, 1).Value = aMyArray(i)
Next i
End Sub
|