返回列表 上一主題 發帖

請教兩個Worksheet_Change事件間互不干擾的做法

請教兩個Worksheet_Change事件間互不干擾的做法

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

回復 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
複製代碼

TOP

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

TOP

        靜思自在 : 一個缺口的杯子,如果換一個角度看它,它仍然是圓的。
返回列表 上一主題