2012-06-13 23 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

试试看现在... –