Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:C2")) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
If Application.WorksheetFunction.CountA(Range("A2:C2")) = 0 Then
Range("D2").ClearContents
Else
Range("D2").Formula = "=SUM(A2:C2)"
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
我希望这个VBA目前在一行工作的方式,以同样的方式,它也应该做下面的行。
2条答案
按热度按时间rbpvctlc1#
Formula2R1C1
使创建相对公式变得容易。我通常不自己写Formula2R1C1
公式。相反,我将一个普通公式添加到ActiveCell,然后将Formula2R1C1
打印到即时窗口。kq0g1dla2#
这将处理跨行的多单元格更新: