|
楼主 |
发表于 2018-7-16 18:43
|
显示全部楼层
求教老师,指点下面这段代码无法运行的原因,谢谢了
想得到的结果是:
如果G列到Z列的和=0,则
从AA列到AJ列均为0,
否则
AA=G列到Z列的和。
AB=G列+I列+K列+M列
AC=H列+J列+L列+N列
AD=O列
AE=P列
AF=Q列+S列+U列+W列
AG=R列+T列+V列+X列
AH=Y列
AI=Z列
AJ =AA列到AI列之和。
Sub 台账汇总计算()
Dim nRow, arr
Application.ScreenUpdating = False
With Sheets("台账汇总")
nRow = .Range("a" & .Rows.Count).End(3).Row
arr = .Range("g5:z" & nRow)
aarr = .Range("aa5:aj" & nRow)
End With
For i = 1 To UBound(arr)
If WorksheetFunction.Sum(Range("arr(i, 7):arr(i, 26)")) = 0 Then
For k = 27 To 36
aarr(i, k) = ""
Next k
Else
aarr(i, 27) = WorksheetFunction.Sum(Range("arr(i, 7):arr(i, 26)"))
aarr(i, 28) = arr(i, 7) + arr(i, 9) + arr(i, 11) + arr(i, 13)
aarr(i, 29) = arr(i, 8) + arr(i, 10) + arr(i, 12) + arr(i, 14)
aarr(i, 30) = arr(i, 15)
aarr(i, 31) = arr(i, 16)
aarr(i, 32) = arr(i, 17) + arr(i, 19) + arr(i, 21) + arr(i, 23)
aarr(i, 33) = arr(i, 18) + arr(i, 20) + arr(i, 22) + arr(i, 24)
aarr(i, 34) = arr(i, 25)
aarr(i, 35) = arr(i, 26)
aarr(i, 36) = WorksheetFunction.Sum(Range("arr(i, 27):arr(i, 35)"))
End If
Next i
Sheets("台账汇总").Range("aa5:aj" & nRow) = aarr
Application.ScreenUpdating = True
End Sub |
|