我們是否可以在同一個工作表中有Worksheet_Change & Worksheet_SelectionChange。 如果是,優先順序是什麼?我們是否可以在同一工作表中有Worksheet_Change&Worksheet_SelectionChange
謝謝
吉恩當然
我們是否可以在同一個工作表中有Worksheet_Change & Worksheet_SelectionChange。 如果是,優先順序是什麼?我們是否可以在同一工作表中有Worksheet_Change&Worksheet_SelectionChange
謝謝
吉恩當然
,您可以:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Debug.Print Target.Row
End Sub
Private Sub Worksheet_SelectionChange(ByVal myTarget As Range)
Debug.Print myTarget.Address
End Sub
選擇變化首先發生,因爲你改變一個單元格之前更改選擇。
您可以通過貼在工作表中的VBA以下測試這個超級簡單:
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "Change"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "selection change"
End Sub
你會發現,這些事件通常不會在同一時間,除非你在一個單元格中輸入新的文本火然後按回車鍵移至新的單元格。在這種情況下,「更改」事件將首先觸發,然後「選擇更改」將觸發。
那麼,當選擇改變時,一個會觸發,另一個當一個單元格的值通過直接的用戶交互而改變。你可以使用'Application.EnableEvents = False'函數來隔離它們。確保在退出子文件之前將其恢復爲真。 –