当细胞更换时,为什么我的宏不会自动运行?

时间:2014-08-26 03:57:04

标签: excel-vba events cell vba excel

我正在尝试在visual basic上为应用程序实现和自动更改功能。我录制了一个宏,它从一张纸上获取信息并插入一个新行并将信息粘贴到另一张纸上。这个宏本身可以正常运行,但是当指定的单元格被更改时,我无法自动运行它。以下是我试图实施的事件:

Private Sub Worksheet_Change(ByVal Target As Range)    
If Not Intersect(Target, Range("f3")) Is Nothing Then Macro9999  
End Sub  

“f3”是我要复制到另一张纸上的新行的第一张纸上的信息。 Macro9999是我为实现此目的而设计的宏的名称。这是Macro9999

Sub Macro9999()
    Sheets("9999").Select
    Rows("4:4").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Sheet1").Select
    Range("E3:F3").Select
    Selection.Copy
    Sheets("9999").Select
    Range("A4:B4").Select
    ActiveSheet.Paste
    Sheets("Sheet1").Select
End Sub

当我在第一张纸上更改单元格“f3”时没有任何反应,是否有我遗漏的东西?感谢

1 个答案:

答案 0 :(得分:1)

一个可能的原因是EnableEvents设置为False。

在运行实际宏之前将其设置为True:

Sub subEnableEvents()
    If Not (Application.EnableEvents) Then Application.EnableEvents = True
End Sub