乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em> <em>vba</em>中,我要对一个&l

<em>excel</em> <em>vba</em>中,我要对一个&l

作者:乔山办公网日期:

返回目录:excel表格制作


程序代码如下:

Option Explicit
Sub s1()'直接单元格
    Dim i, s
    Cells(1, 3) = Now()
    s = 0
    For i = 1 To 2500
        s = s + Cells(i, 1)
    Next i
    Cells(1, 2) = s
    Cells(1, 4) = Now()
End Sub
Sub s2()'使用数组
    Dim i, s, arr
    Cells(1, 8) = Now()
    s = 0
    arr = Range("f1:f2500")
    For i = 1 To 2500
        s = s + arr(i, 1)
    Next i
    Cells(1, 7) = s
    Cells(1, 9) = Now()
End Sub

计算结果都为3126250,消耗的时间都为0,拷屏如下:



最简单的方法就是定义变量,然后循环相加;当然不怕麻烦的话,也可以将数组中的一个个元素直接用+号累加起来得到最终的和。

关于数组:
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
数组在VBA中的应用:
在VBA编程中应用数据可以极大地提高程序的运算速度,能否熟练运行数据也往往成为区分编程高手与入门菜鸟之间的标准。如果想要在VBA中更进一步,用好数组是必须跨越的门槛!
像这种类型的分类求和汇总,数据透视表完虐。

函数就可以了吧,先用2003版的EXCEL函数

A级小学数量
=sumproduct((A1:A12="A级")*(B1:B12="小学")*C1:C12)
A级中学数量
=sumproduct((A1:A12="A级")*(B1:B12="中学")*C1:C12)

2007版有一个SUMIFS函数可用
=sumifs(C1:C12,A1:A12,"A级",B1:B12,"小学")
=sumifs(C1:C12,A1:A12,"A级",B1:B12,"中学")

结果都是一样的

相关阅读

  • <em>EXCEL</em>高手用<em>VBA</em>单元格和<

  • 乔山办公网excel表格制作
  • 最简单的方法就zd是定义变量,然后循环相加;当然不怕麻烦的话,也可以将数组中的一个个元素直接用+号累加起来得到最终的和。关于数组:所谓数组,就是相同数据类型的元素按一
关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网