我有一个代码Worksheet_Change
如果第 9 列被更新,则第 8 列将通过乘以第 9 列和第 11 列来自动填充。
但是当用户在列中粘贴值时,更改事件无法正常工作。只有 Col 8 中的第一个单元格被更新。
我该如何克服呢?
试试这个
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Whoa
Application.EnableEvents = False
If Target.Columns.Count > 1 Then GoTo LetsContinue
If Not Intersect(Target, Columns(9)) Is Nothing Then
Dim aCell As Range
For Each aCell In Target
aCell.Offset(, -1).Value = aCell.Value * aCell.Offset(, 2)
Next
End If
LetsContinue:
Application.EnableEvents = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub