|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
重新改一下,整复杂了
- Sub cc()
- Dim arr, rng, i%, j%, num1&, num2&, num3&, a As Boolean
- arr = Range("a1:b" & [a1048576].End(3).Row)
- For i = UBound(arr) To 1 Step -1
- Do While Left(arr(i, 1), 1) = Left(arr(i - 1, 1), 1)
- rng = Split(arr(i, 1), ".")
- If UBound(rng) = 2 Then
- num1 = num1 + arr(i, 2)
- End If
- If UBound(rng) = 1 Then
- num2 = num2 + num1
- num1 = 0
- arr(i, 2) = num2
- num3 = num3 + num2
- num2 = 0
- End If
- i = i - 1
- If i = 1 Then Exit Do
- Loop
- arr(i, 2) = num3
- num3 = 0
- Next
- [c1].Resize(UBound(arr)) = Application.Index(arr, , 2)
- End Sub
复制代码
|
|