Public Sub Foo(A1() As Byte) Dim A2() As Byte Dim i As Integer Dim J As Integer Dim K As Integer Dim L As Integer On Error GoTo ErrHandle i = LBound(A1) J = UBound(A1) K = (J - i + 1) * 2 ReDim A2(i To K) K = i - 1 For L = i To J K = K + 1 A2(K) = A1(L) If A1(L) <= 5 Then K = K + 1 A2(K) = A1(L) + 10 End If Next 'if K<L then Exit Sub ReDim Preserve A2(i To K) Erase A1 A1 = A2 Exit Sub ErrHandle: End Sub
Dim A2() As Byte
Dim i As Integer
Dim J As Integer
Dim K As Integer
Dim L As Integer
On Error GoTo ErrHandle
i = LBound(A1)
J = UBound(A1)
K = (J - i + 1) * 2
ReDim A2(i To K)
K = i - 1
For L = i To J
K = K + 1
A2(K) = A1(L)
If A1(L) <= 5 Then
K = K + 1
A2(K) = A1(L) + 10
End If
Next
'if K<L then Exit Sub
ReDim Preserve A2(i To K)
Erase A1
A1 = A2
Exit Sub
ErrHandle:
End Sub