首页 > 百科知识 正文

什么是参数数组(vba数组知识点大全)

时间:2023-11-21 07:53:24 阅读:200 作者:旧情拘未定

参数数组是个名词,实际上也可以反过来称为数组参数,不管怎么叫,这个名称都显得十分不好理解。

本文介绍一下,这个所谓的参数数组是怎么一回事儿。

什么是参数数组(vba数组知识点大全)-第1张

首先,它是个参数,是个过程或函数定义时用到的一个参数,以数组的形式进行传递,主要是有一个很好的特点,这个数组可以是任意大小,要注意的是这个数组作为参数,一定是最后一个参数。

定义方法:

使用 ParamArray 关键字可表示参数数组。

Sub GetColumnSum(xSheetname as string,ParamArray ColArr() as Variant) msgbox ubound(ColArr) End Sub

如下图所示:

什么是参数数组(vba数组知识点大全)-第2张

调用方法:

GetColumnSum "Sheet1",ColArr(1),ColArr(2)

使用的时候可以任意使用数组元素,而不是整个数组,这样就很方便地提供了一种选择,需要传递数组中的任意一些数组来进行过程操作。

什么是参数数组(vba数组知识点大全)-第3张

如上图所示,要进行一列数据计算,我们可以把整个列单元做为一个数组进行传递,这样就很方便地进行某一列的数据计算。

代码:

'可以任意传递参数数量 进行过程执行 Sub 参数数组() Dim xs As String xs = "Sheet1" Dim xArr() As Variant Dim ic As Integer, xi As Integer ic = ThisWorkbook.Worksheets(xs).Cells(1, Columns.Count).End(xlToLeft).Column ReDim xArr(1 To ic) For xi = 1 To ic Set xArr(xi) = ThisWorkbook.Worksheets(xs).Columns(xi) '返回列对象 Next xi [e11].Value = 0 [f11].Value = 0 ggetColumnStr xs, xArr(5) '调用第5列 作为参数进行计算 Erase xArr End Sub

什么是参数数组(vba数组知识点大全)-第4张

Sub getColumn(xSheetName As String, ParamArray columnArr() As Variant) '定义数组参数 ParamArray On Error Resume Next Dim ci As Integer For ci = LBound(columnArr()) To UBound(columnArr()) [e11].Value = Application.WorksheetFunction.Sum(columnArr(ci)) '统计和值 [f11].Value = Application.WorksheetFunction.Average(columnArr(ci)) '统计平均值 Next ci End Sub

参数数组应用具有其灵活性,在一很多应用场境下使用,十分有用,本着灵活使用的结果来考虑,学会其应用方法是一个很好的想法,所以,在此之外,要多练习才是其应用熟练的最好途径。

END

如需要获得免费应用,可以转发或私信联系,将有不错的选择。

,

版权声明:该问答观点仅代表作者本人。如有侵犯您版权权利请告知 cpumjj@hotmail.com,我们将尽快删除相关内容。