|
楼主 |
发表于 2011-11-17 23:31
|
显示全部楼层
Bernard_ye 发表于 2011-11-17 22:46
请见以下完整代码:
现金日记账1.rar
(69.56 KB, 下载次数: 11)
你好!我想在附件里这个表中实现那些功能!代码如何改!?!原代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row < 5 Then Exit Sub
If Target.Column <> 7 Then Exit Sub
If Target.Value = "本月合计" Then
m = Target.Row - 1
i = Range("C" & m + 1).End(xlUp).Row
Range("H" & m + 1) = Evaluate("SUMPRODUCT(($B$6:$B" & i & "=$B" & i & ")*H$6:H" & i & ")")
Range("J" & m + 1) = Evaluate("SUMPRODUCT(($B$6:$B" & i & "=$B" & i & ")*J$6:J" & i & ")")
Range("N" & m + 1) = Evaluate("SUMPRODUCT(($B$6:$B" & i & "=$B" & i & ")*N$6:N" & i & ")")
Range("P" & m + 1) = Evaluate("SUMPRODUCT(($B$6:$B" & i & "=$B" & i & ")*P$6:P" & i & ")")
ElseIf Target.Value = "本年累计" Then
n = Target.Row - 2
Range("H" & n + 2) = Evaluate("SUMPRODUCT(($B$6:$B" & n & ">0)*H$6:H" & n & ")")
Range("J" & n + 2) = Evaluate("SUMPRODUCT(($B$6:$B" & n & ">0)*J$6:J" & n & ")")
Range("N" & n + 2) = Evaluate("SUMPRODUCT(($B$6:$B" & n & ">0)*N$6:N" & n & ")")
Range("P" & n + 2) = Evaluate("SUMPRODUCT(($B$6:$B" & n & ">0)*P$6:P" & n & ")")
End If
End Sub
如何把上边的代码与下边您给我的代码合并起来!!谢谢
Sub balance()
Dim i As Long
i = 8
Do While Range("G" & i) <> ""
Select Case Range("G" & i)
Case "过 次 页", "承 前 页", "本月合计", "本年累计"
Range("L" & i).Value = Range("L" & (i - 1)).Value
Case Else
Range("L" & i).Value = Range("L" & (i - 1)).Value + Range("H" & i).Value - Range("J" & i).Value
End Select
i = i + 1
Loop
End Sub
|
|