VBA 将一个或多个数组的对应元素相加并返回结果数组
DefeiSoft
编辑于 2023年03月22日 04:08
收录于文集
共4篇

代码块
JavaScript
自动换行
复制代码
Function SumArrays(ParamArray arr() As Variant) As Variant
    
    '定义结果数组和数组长度
    Dim resultArr() As Variant
    Dim arrLength As Long
    
    '检查数组长度是否相同
    For i = LBound(arr) + 1 To UBound(arr)
        If UBound(arr(i)) <> UBound(arr(i - 1)) Then
            MsgBox "数组长度不同!"
            Exit Function
        End If
    Next i
    
    '确定数组长度并初始化结果数组
    arrLength = UBound(arr(0)) + 1
    ReDim resultArr(0 To arrLength - 1)
    
    '依次将每个数组中的元素相加并存储到结果数组中
    For i = 0 To UBound(resultArr)
        For j = LBound(arr) To UBound(arr)
            resultArr(i) = resultArr(i) + arr(j)(i)
        Next j
    Next i
    
    '返回结果数组
    SumArrays = resultArr
    
End Function
复制成功

在这个代码中,我们使用了参数,这意味着函数可以接受一个或多个数组作为输入。我们首先检查所有输入数组的长度是否相同,如果不同,就会弹出一条错误消息。接着,我们确定了结果数组的长度,并使用语句初始化了这个数组。最后,我们依次将每个数组中的元素相加,并将结果存储到结果数组中。最后,我们返回结果数组。