分享

VBA中数组的读取!

 L罗乐 2018-02-20


了解了数组的相关概念后,我们要开始学习在VBA中该如何利用数组去完成计算,那么第一步,我们要学会如何把Excel中的一组数据给读取到数组中去。


实例如下:



这个例子比较简单,没学数组也可以解决。


思路:用for each 把C列中的数据单元格循环出来,若单元格中的值大于500,则计数,一直循环完毕就OK了!


代码如下:

Sub 计数()

Dim rng As Range, n%

For Each rng In Range('c2', [c2].End(xlDown))

If rng.Value > 500 Then n = n 1

Next

MsgBox '销量大于500的人数为' & n & '人'

End Sub


如果利用数组来解决,那就要先把C2到C16中的数据先读取到数组中。

代码如下:

Sub 计数1()

Dim arr, ar, n%

arr = Range('c2', [c2].End(xlDown))

For Each ar In arr

If ar > 500 Then n = n 1

Next

MsgBox '销量大于500的人数为' & n & '人'

End Sub


读取到数组中以后,用for each 循环出来的就是数组的元素,这里的元素是数字,可以直接与500进行比较。


假如现在让求二办的总销量?思路同上面。

代码如下:

Sub 条件求和()

Dim arr, i%, n%

arr = Range('a2', [c2].End(xlDown))

For i = 1 To Range('a2', [c2].End(xlDown)).Rows.Count

    If arr(i, 1) = '二办' Then n = n arr(i, 3)

Next

MsgBox '二办的销量为' & n

End Sub


这里要学习的是,数组中元素怎么表达,怎么参与运算,通过这个例子我们会更加深刻的了解数组。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多