|
发表于 2016-1-20 11:21
|
显示全部楼层
本楼为最佳答案
- Sub 遇0加1遇1减1()
- rmax = Cells(65536, 3).End(3).Row + 1
- cmax = ActiveSheet.UsedRange.Columns.Count '最大列
- arr = Range([c5], Cells(rmax, cmax))
- For i = 1 To UBound(arr) - 1 Step 2
- S = Val(arr(i + 1, UBound(arr, 2)))
- For j = 1 To UBound(arr, 2) - 1 '清空答案区(保留自设起点值)
- arr(i + 1, j) = ""
- Next
- For j = UBound(arr, 2) - 1 To 1 Step -1
- x = arr(i, j)
- If x = 0 Then
- S = S + 1
- arr(i + 1, j) = S
- ElseIf x = 1 Then
- S = IIf(S > 1, S - 1, 0)
- arr(i + 1, j) = S
- End If
- Next
- Next
- [c5].Resize(UBound(arr), UBound(arr, 2)) = arr
- End Sub
复制代码 |
评分
-
查看全部评分
|