我似乎並不瞭解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