分享

VBA入门47:Sum、Max、Min、Average

 L罗乐 2017-09-23

人世间有太多的情感与归宿我们不能把握,构成了命运的不确定与爱情的不可求。在这个浮华掠影幻梦破灭的年代,对于爱情、事业、青春与梦想,我们通常只能默然相守,寂静求欢。


1

图片链接


我微笑着看你来的方向,并不意味着我快乐,不眠夜,馨香若兰的气息,是对影似水的柔情。


人的一生相聚亦难别亦难,并不是心心相映的两个人就一定会在一起,之间总是会有想不到的阻隔,让人欲罢不能。


人的一生相聚亦难别亦难,并不是心心相映的两个人就一定会在一起,之间总是会有想不到的阻隔,让人欲罢不能。


人的一生相聚亦难别亦难,并不是心心相映的两个人就一定会在一起,之间总是会有想不到的阻隔,让人欲罢不能。



不管以什么名义,毁灭个性的做法就是专制。——约翰·斯图尔特·穆勒




不管以什么名义,毁灭个性的做法就是专制。——约翰·斯图尔特·穆勒




不管以什么名义,毁灭个性的做法就是专制。——约翰·斯图尔特·穆勒



1

心,很寥落,繁华散尽的平淡。热闹过后的寂静。世界仿佛突然之间消失,连声音都已死亡。


1

图片链接


我微笑着看你来的方向,并不意味着我快乐,不眠夜,馨香若兰的气息,是对影似水的柔情。


饭饭饭

        数组中可以使用Sum、Max、Min、Average等工作表函数。如下代码,对数组(数值类型)进行求和。

数组的样子

代码

Sub cd()

    Dim arr(1 To 5, 1 To 5)  As Integer '5行5列数组

    Dim i As Long, j As Long, ESum As Single

    For i = 1 To 5 '循环给数组元素赋值

        For j = 1 To 5

            arr(i, j) = i * j

        Next

    Next

    [a1].Resize(5, 5) = arr '将数组输出到工作表

    ESum = Application.Sum(arr) '求和

    MsgBox ESum

End Sub

增加下面三句代码,分别表示数组的最大值、最小值、平均值

    emax = Application.Max(arr) '最大值

    emin = Application.Min(arr)  '最小值

    eavg = Application.Average(arr)  '平均值

代码图




        在数组中运用工作表函数,只要工作表函数的某些参数支持数组形式,那么就可以使用。

        尽管在VBA中“反对”(不建议)用工作表函数的声音很大,但有时候使用工作表函数还是很方便的。毕竟VBA允许,既然允许就可以用,用或不用,随你。

        比如,对1-9的数值型一维数组进行求和、取最大值、最小值,如不使用工作表函数,则需要遍历数组元素求和,遍历数组元素比较大小。

代码

Sub cc()

    Dim arr(1 To 9)

    Dim i As Long

    '//数组赋值1-9

    For i = 1 To 9

        arr(i) = i

    Next

    '//求和,简单的累加

    For i = 1 To 9

        ESum = ESum arr(i)

    Next

    '//求最大值,先假定Emax是最大值

    '//然后遍历数组每一个元素与其比较,取大者代入变量Emax

    For i = 1 To 9

        If Emax < arr(i) Then

            Emax = arr(i)

        End If

    Next

End Sub

        求最小值和最大值一个原理,平均值=求和/Ubound(arr),代码就不写了。

        

Sep 2017


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多