分享

vba数组函数与方法

 莫怜飘逸 2023-09-23
  • Erase函数:清空数组

Sub 清空数组()
arr = Array(1, 10, 50, 13)
Erase arr     '清空数组arr
End Sub

  • ReDim方法:重新分配数组空间,默认情况下重新分配空间后数组内容都会清空,加上preserve后可以保留原来的数据在进行分配空间

Sub 重新分配数组空间()
Dim arr()    '定义一个一维数组
ReDim arr(100) '重新定义数组大小
arr(50) = 10
ReDim Preserve arr(80)       '重新定义数组大小,并保留原来的数据
MsgBox arr(50)
End Sub

  • LBound函数:指定的数组维可用的最小下标

Sub 获取数组最小下标()
arr = Array(1, 10, 50, 13)
MsgBox LBound(arr)
End Sub

  • UBound函数:指定的数组维可用的最大下标

Sub 获取数组最大下标()
arr = Array(1, 10, 50, 13)
MsgBox UBound(arr)
End Sub

  • Application.Max函数:判断数组中的最大值

Sub 判断数组中的最大值()
arr = Array(10, 1, 5, 4, -6, 9, 11, 9, -1)
MsgBox Application.Max(arr)     '判断数组中的最大值
End Sub

  • Application.Min函数:判断数组中的最小值

Sub 判断数组中的最小值()
arr = Array(10, 1, 5, 4, -6, 9, 11, 9, -1)
MsgBox Application.Min(arr)     '判断数组中的最小值
End Sub

  • Application.Large函数:判断数组中的第N大值

Sub 判断数组中的第二大值()
arr = Array(10, 1, 5, 4, -6, 9, 11, 9, -1)
MsgBox Application.Large(arr, 2)     '判断数组中的第二大值
End Sub

  • Application.Small函数:判断数组中的第N小值

Sub 判断数组中的第二小值()
arr = Array(10, 1, 5, 4, -6, 9, 11, 9, -1)
MsgBox Application.Small(arr, 2)     '判断数组中的第二小值
End Sub

  • WorksheetFunction.Transpose函数:单元格区域放入转化为数组,要注意的是,转化为数组后第1位(起始下标)是1不是0,单元格区域的每列转化为一维数组只需调用一次Transpose,每行转化为一维数组则需连续调用两次

Sub 单元格行或列内容放入数组()
arr1 = WorksheetFunction.Transpose(Range("A1:A4"))  '将列内容转化为一维数组
arr2 = WorksheetFunction.Transpose(WorksheetFunction.Transpose(Range("A1:D1"))) '将行内容转化为一维数组
End Sub

以上内容对您有帮助可以分享或转藏,避免以后找不到。想要了解更多VBA相关知识,欢迎到http://moqingyan.360doc.com我的个人图书馆查看。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多