1

我有一个代码Worksheet_Change

如果第 9 列被更新,则第 8 列将通过乘以第 9 列和第 11 列来自动填充。

但是当用户在列中粘贴值时,更改事件无法正常工作。只有 Col 8 中的第一个单元格被更新。

我该如何克服呢?

4

1 回答 1

1

试试这个

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
于 2012-06-13T17:51:19.597 回答