这段VBAvba对一列求和是如何写代码的为什么找到第三列的结果时全是一样的?

arr=.Range("a2:b"&r)这一句呀,r是上面一句获取的最后一个行号,反正是个数值,这里假如r是100那么arr=.Range("a2:b"&r)就可以写成arr=.Range("a2:b100")意思就是把Range("a2:b100")把区域的数据放到一个叫arr的二维数据里面。--------------------------------------------------------brr(1,m)=arr(i,1):brr(2,m)=arr(i,2)这句中的冒号就是把本来要写在两行的代码写在一行的做法,等价于brr(1,m)=arr(i,1)brr(2,m)=arr(i,2)这样就好理解了哦,就是给brr数组赋值,赋的是arr的数据-----------------------------------------------------[a1].CurrentRegion.Offset(1).ClearContents这句分开理解,最主要的后面一个ClearContents就是清空内容的意思[a1].CurrentRegion.Offset(1)这一堆其实就定位要清空内容单元格的地址[a1].CurrentRegion是从A1开始和A1相连接的有数据的单元格区域offset是区域偏移用的,------------------------------------------------------------.[a2:b2].Resize(m)=Application.Transpose(brr)这句总体意思是把数组内容回写但单元格里面,.[a2:b2].Resize(m)中的resize是重新调整选区大小的意思,.[a2:b2].Resize(m)就是把[a2:b2]扩大M行,假如m是50,区域到时候就是A2:B51了,后面的Application.Transpose(brr)就是把brr数组转置的意思,就是把原来的行变成列,原来的列变成行------------------------------------------------大致就这样,这些都是很基础的东西,你要把书全看了,肯定就都明白了}

我要回帖

更多关于 vba对一列求和是如何写代码的 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信