Board logo

標題: 請教兩個Worksheet_Change事件間互不干擾的做法 [打印本頁]

作者: yuch8663    時間: 2010-8-10 13:02     標題: 請教兩個Worksheet_Change事件間互不干擾的做法

我在sheet1與sheet2均有使用Private Sub Worksheet_Change(ByVal Target As Range)事件
我想要的目的是不論在哪一張工作表的A2儲存格輸入1~100之間的代號都要互相傳值給對方相同位置顯示可是又不要去觸擊另一個事件,但是目前的寫法會造成無窮迴路,請問要如何做才行?
[attach]2329[/attach]
作者: GBKEE    時間: 2010-8-10 15:11

回復 1# yuch8663
你原本的Application.EnableEvents  沒有.
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. '   Application.ScreenUpdating = False  '停止 更新Sheet時 畫面,加速運算
  3. '   Application.DisplayAlerts = False  '停止 刪除Sheet時 預設的警告
  4.     If Target.Address <> "$A$2" Then Exit Sub
  5.     Application.EnableEvents = False  '停止事件  '
  6.      Columns("d:d").ClearContents
  7.     For i = 1 To 100
  8.         If Sheets("sheet1").Range("a2").Value = Val(Sheets("sheet3").Cells(i, 1).Value) Then
  9.            Sheets("sheet1").Range("b2").Value = Sheets("sheet3").Cells(i, 2).Value
  10.            Sheets("sheet2").Range("a2").Value = Sheets("sheet1").Range("a2").Value
  11.            Sheets("sheet2").Range("b2").Value = Sheets("sheet1").Range("b2").Value
  12.         End If
  13.     Next
  14.     Call aaa
  15.     Application.EnableEvents = True  '恢復停止事件     '移到這裡
  16. '   Application.ScreenUpdating = True  '停止 更新Sheet時 畫面,加速運算
  17. '   Application.DisplayAlerts = True  '停止 刪除Sheet時 預設的警告
  18. End Sub
複製代碼

作者: yuch8663    時間: 2010-8-10 15:27

謝謝GBKEE版主指導,已經可以用了。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)