|
楼主 |
发表于 2015-5-13 15:33
|
显示全部楼层
grf1973 发表于 2015-5-12 14:10
这个样子?
恩恩,是的。大神膜拜了,但是我还有一些代码看不懂,求指导。
Sub tt()
arr = [b2].CurrentRegion
ReDim brr(1 To UBound(arr) / 10 + 1, 1 To 4)
Set d = CreateObject("scripting.dictionary")
For i = 1 To UBound(arr)
rq = arr(i, 1): sz = arr(i, 3) '日期,数值
x = Year(rq) & "年" & Month(rq) & "月"
dd = Day(rq): y = IIf(dd <= 10, "上旬", IIf(dd <= 20, "中旬", "下旬"))
x = x & y
If Not d.exists(x) Then
n = n + 1
d(x) = n
brr(n, 1) = x
End If
brr(d(x), 2) = brr(d(x), 2) + 1
brr(d(x), 3) = brr(d(x), 3) + sz
brr(d(x), 4) = brr(d(x), 3) / brr(d(x), 2)
Next
[h3].Resize(n, 4) = brr
End Sub
*************************************************************************************************
问题:
1、ReDim brr(1 To UBound(arr) / 10 + 1, 1 To 4) 这句话是什么意思啊?括号里面的参数看不大明白,不知道是怎么返回的。
2、Set d = CreateObject("scripting.dictionary") 这句也不知道是什么意思。
3、arr是一个数组,数组的下标默认不是从0开始的么,为什么后面的For i = 1 To UBound(arr)不是0 To UBound(arr)?
大神,求解~~~!!! |
|