数组的使用

    xiaoxiao2025-07-07  4

    [a2:f2] = Array(1, 2, 3, 4, 5, 6) [a4:a9] = WorksheetFunction.Transpose(Array(1, 2, 3, 4, 5, 6))

    数组的使用可以加快运算速度,比较实现同样功能的不同写法,本质相同。

    Sub t() Dim arr, ar, n% arr = Range("a1", [a1].End(xlDown)) For Each ar In arr     If ar >= 60 Then n = n + 1 Next ar     MsgBox "共有" & n & "人及格" End Sub Sub tt() Dim rng As Range, rngs as range,n% set rngs= Range("a1", [a1].End(xlDown))

    For Each rng In rngs     If rng.Value >= 60 Then n = n + 1 Next rng     MsgBox "共有" & n & "人及格" End Sub

    数组的使用:

    Sub y() Dim arr, n% arr = Range("b1", "c19")‘可见我们创建了一个二维数组,并将共15行2列的区域赋值给该数组的每个元素’

    For i = 1 To 19     If arr(i, 1) = "A" Then n = arr(i, 2) + n Next     MsgBox "属性A的得分为" & n End Sub

    数组的嵌套

    Sub y() Dim arr, n%, arr1(1 To 19), i%‘这里定义arr1的数组共一个维度,15个元素’ arr = Range("b1", "c19") For i = 1 To 19     If arr(i, 1) = "A" Then n = n + 1     arr1(n) = arr(i, 2)‘将数组arr中的第二个数字(即属性A的得分)赋值给数组arr1’ Next     MsgBox "属性a的得分为" & WorksheetFunction.Sum(arr1)      End Sub

    动态数组

    在定义arr的时候采用redim函数:

    redime arr(1 to num)‘其中num是动态获得的数字’

    也可以在使用过程中采取:

    dim arr()‘注意此时括号要保留,内部不填写数组的元素个数’

    n=n+1

    redim preserve arr (1 to n)

    转载请注明原文地址: https://ju.6miu.com/read-1300458.html
    最新回复(0)