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