龙空技术网

VBA数组自定义增加元素方法

橘子地主 171

前言:

此刻兄弟们对“js数组新增一个数组的元素”大概比较重视,你们都需要剖析一些“js数组新增一个数组的元素”的相关文章。那么小编也在网摘上收集了一些关于“js数组新增一个数组的元素””的相关文章,希望看官们能喜欢,小伙伴们快快来学习一下吧!

默认情况下,VBA没有很多针对数组的增删查改操作,需要我们自定义。本文讲解如何用VBA写代码实现对数组的增删查改操作。本文假定数组为不可变元素。针对数组的修改操作,都默认不修改原参数。
增加元素1,AppendElement,在数组尾部添加元素。
'' 在数组后面追加元素'' @param arr Array' @param values Variant, 要添加的元素,可以传多个''Function AppendElement(ByVal arr As Variant, ParamArray values() As Variant) As Variant    Dim res()        paramCount = UBound(values) - LBound(values) + 1    ReDim res(LBound(arr) To UBound(arr) + paramCount)    For i = LBound(arr) To UBound(arr)        res(i) = arr(i)    Next    For i = LBound(values) To UBound(values)        res(UBound(arr) + i + 1) = values(i)    Next    AppendElement = resEnd Function    For i = idx To UBound(arr)        res(i + 1) = arr(i)    Next    InsertElementAt = resEnd Function

测试用例:

Sub testAppendElement()    arr = Array()    For i = 0 To 3        arr = Utils.AppendElement(arr, i)    Next    arr = Utils.AppendElement(arr, 5, 7, 9)End Sub

2,InsertElementAt,任意位置添加元素

'' 在数组任意位置追加元素'' @param arr Array' @param value Variant''Function InsertElementAt(ByVal arr As Variant, ByVal idx As Long, ByVal value As Variant) As Variant    idx = IIf(idx = -1, UBound(arr), idx)        ' idx有效性判断    If Not IsEmptyArray(arr) Then        If Not (LBound(arr) >= idx And idx <= UBound(arr)) Then            Err.Raise ERROR_INDEX_OVERFLOW        End If    ElseIf idx <> 0 Then ' 如果为空数组,idx必须等于0        Err.Raise ERROR_INDEX_OVERFLOW    End If        Dim res()    ReDim res(LBound(arr) To UBound(arr) + 1)    ' 复制左边的值    For i = LBound(arr) To idx - 1        res(i) = arr(i)    Next    ' 新增加的值    res(idx) = value    ' 右边的值,后移    For i = idx To UBound(arr)        res(i + 1) = arr(i)    Next    InsertElementAt = resEnd Function

测试用例:

Sub testInsertElement()    arr = Array()    For i = 0 To 3        arr = Utils.InsertElementAt(arr, 0, i)    NextEnd Sub

标签: #js数组新增一个数组的元素 #如何往string数组添加元素