|
发表于 2015-7-5 17:22
|
显示全部楼层
本楼为最佳答案
 - Sub 刷新()
- Dim ir%, m%, imax%
- Dim mx1#, mx2#, x#, sx1#, sx2#
- imax = Range("e" & Cells.Rows.Count).End(xlUp).Row
- ir = 6
- x = Range("i5").Value
- Do
- If Range("a" & ir) <> "" Then
- mx1 = mx1 + Range("f" & ir)
- mx2 = mx2 + Range("g" & ir)
- sx1 = sx1 + Range("f" & ir)
- sx2 = sx2 + Range("g" & ir)
- End If
- Do
- m = Range("a" & ir)
- ir = ir + 1
- If Range("a" & ir) <> "" Then
- mx1 = mx1 + Range("f" & ir)
- mx2 = mx2 + Range("g" & ir)
- sx1 = sx1 + Range("f" & ir)
- sx2 = sx2 + Range("g" & ir)
- End If
- imax = Range("e" & Cells.Rows.Count).End(xlUp).Row
- If (m <> Range("a" & ir + 1) And Range("a" & ir + 1) <> "") Or ir >= imax Then Exit Do
- Loop
- If Range("e" & ir) <> "累计" Then
- Range("e" & ir + 1).EntireRow.Insert
- Range("e" & ir + 1).EntireRow.Insert
- Else
- ir = ir - 2
- End If
- ir = ir + 1
- Range("e" & ir) = "本月合计"
- Range("f" & ir) = mx1
- Range("g" & ir) = mx2
- Range("i" & ir - 1) = x + sx1 - sx2
- ir = ir + 1
- Range("e" & ir) = "累计"
- Range("f" & ir) = sx1
- Range("g" & ir) = sx2
- mx1 = 0: mx2 = 0
- ir = ir + 1
- imax = Range("e" & Cells.Rows.Count).End(xlUp).Row
- If ir >= imax Then Exit Do
- Loop
- End Sub
复制代码 |
|