|
发表于 2015-1-5 15:23
|
显示全部楼层
本楼为最佳答案
把你的代码用数组改了一遍- Sub 余额计算()
- arr = [a1].CurrentRegion
- For x = 6 To UBound(arr)
- Select Case arr(x, 6)
- Case "本月合计"
- arr(x, 8) = x1
- arr(x, 10) = x2
- arr(x, 9) = x3
- arr(x, 11) = x4
- arr(x, 13) = arr(x - 1, 13)
- x1 = 0: x2 = 0: x3 = 0: x4 = 0
- Case "本年累计"
- arr(x, 8) = y1
- arr(x, 10) = y2
- arr(x, 9) = y3
- arr(x, 11) = y4
- arr(x, 13) = arr(x - 1, 13)
- Case Else
- x1 = x1 + arr(x, 8)
- x2 = x2 + arr(x, 10)
- x3 = x3 + arr(x, 9)
- x4 = x4 + arr(x, 11)
- y1 = y1 + arr(x, 8)
- y2 = y2 + arr(x, 10)
- y3 = y3 + arr(x, 9)
- y4 = y4 + arr(x, 11)
- arr(x, 13) = arr(x - 1, 13) + arr(x, 8) - arr(x, 10)
- End Select
- If arr(x, 13) > 0 Then
- arr(x, 12) = "借"
- ElseIf arr(x, 13) = 0 Then
- arr(x, 12) = "平"
- ElseIf arr(x, 13) < 0 Then
- arr(x, 12) = "贷"
- End If
- arr(x, 13) = Round(arr(x, 13), 2) '余额保留两位小数
- Next x
- [a1].CurrentRegion = arr
- End Sub
复制代码 |
|