|
本帖最后由 chenlin1106 于 2013-12-25 14:44 编辑
运算过程有点复杂,因为涉及到一个条件的判断.所以请各位帮忙看看,有什么好的代码`~~谢谢啦`~
- Sub 计算()
- Dim arr, brr()
- Dim i%, j%, num As Byte, endRow%
- arr = Sheets("sheet1").Range("a1").CurrentRegion.Value
- ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
- For i = 1 To UBound(arr)
- For j = 1 To UBound(arr, 2)
- If j = UBound(arr, 2) Then
- num = arr(i, j) * 2
- Else
- num = (arr(i, j) + arr(i, j + 1)) * 2
- End If
- Select Case num
- Case Is < 33
- brr(i, j) = 33 - num
- Case Is < 66
- brr(i, j) = 66 - num
- Case Is < 99
- brr(i, j) = 99 - num
- Case Else
- brr(i, j) = Abs(132 - num)
- End Select
- Next
- Next
- With Sheets("sheet1").Range("i1")
- endRow = Cells(Rows.Count, "i").End(3).Row
- .Resize(endRow, UBound(brr, 2)).ClearContents
- .Resize(UBound(brr), UBound(brr, 2)) = brr
- End With
- End Sub
复制代码
|
|