1

私はコードを持っていますWorksheet_Change

列9が更新されると、列8は列9と列11を乗算することによって自動的に入力されます。

ただし、ユーザーが値を列に貼り付けると、変更イベントは正しく機能しません。列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 に答える