了解了数组的相关概念后,我们要开始学习在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
这里要学习的是,数组中元素怎么表达,怎么参与运算,通过这个例子我们会更加深刻的了解数组。
联系客服