我似乎并不了解Excel 2007的奇怪行为,并且在一打解决方案之后,我来找你寻求帮助。Application.EnableEvents =假不工作
我的办公室2007年
这里是我的类模块代码:
Public WithEvents App As Application
Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "event din app"
End Sub
这里是我的InitializeAppObject模块:
Dim X As New EventClassModule
Sub InitializeApp()
Set X.App = Application
MsgBox "am facut setarea"
End Sub
这是我表一个代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Me.Range("a1:c10")) Is Nothing _
Then
Application.EnableEvents = False
MsgBox "suntem in range"
Application.EnableEvents = True
Else
MsgBox "nu suntem in range"
End If
End Sub
在更改网格上的任何值之前,我执行InitializeApp()过程。
从我的理解,应该先触发sheet事件,然后触发工作簿,然后触发应用程序。然而,这种情况并非如此。它首先启动工作簿之一,应用程序之一,最后启动工作表之一。
- 是Excel故障还是我弄错了?
- 如何执行表单事件?很显然,Application.EnableEvents = false并没有从阻止事件被触发上游方面起到任何作用。
非常感谢您的帮助!
亲切的问候, 拉杜
我想这个链接将有所帮助:[链接](http://pastie.org/1624890) – 2011-03-02 15:15:47