2012-06-13 31 views
1

我在Worksheet_Change工作表更改事件值

代碼如果一列9的更新則列8將與第9欄和col 11

但是,當乘自動填充用戶粘貼列中的值,則更改事件無法正常工作。只有Col 8中的第一個單元格被更新。

如何從這個克服?

回答

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 
+0

非常感謝亞洲時報Siddharth,它工作正常。 – user1049518

+0

但是,當刪除數據時,它給出了一個錯誤。當選擇第8欄到第9欄以清除數據時,欄7填充了零。請糾正它。 – user1049518

+0

試試看現在... –