請教兩個Worksheet_Change事件間互不干擾的做法
- 帖子
- 51
- 主題
- 12
- 精華
- 0
- 積分
- 77
- 點名
- 0
- 作業系統
- windows xp sp3
- 軟體版本
- excel 2003 2007
- 閱讀權限
- 20
- 註冊時間
- 2010-5-4
- 最後登錄
- 2023-10-31
|
請教兩個Worksheet_Change事件間互不干擾的做法
我在sheet1與sheet2均有使用Private Sub Worksheet_Change(ByVal Target As Range)事件
我想要的目的是不論在哪一張工作表的A2儲存格輸入1~100之間的代號都要互相傳值給對方相同位置顯示可是又不要去觸擊另一個事件,但是目前的寫法會造成無窮迴路,請問要如何做才行?
text.rar (14.76 KB)
|
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2010-8-10 15:11
| 只看該作者
回復 1# yuch8663
你原本的Application.EnableEvents 沒有.- Private Sub Worksheet_Change(ByVal Target As Range)
- ' Application.ScreenUpdating = False '停止 更新Sheet時 畫面,加速運算
- ' Application.DisplayAlerts = False '停止 刪除Sheet時 預設的警告
- If Target.Address <> "$A$2" Then Exit Sub
- Application.EnableEvents = False '停止事件 '
- Columns("d:d").ClearContents
- For i = 1 To 100
- If Sheets("sheet1").Range("a2").Value = Val(Sheets("sheet3").Cells(i, 1).Value) Then
- Sheets("sheet1").Range("b2").Value = Sheets("sheet3").Cells(i, 2).Value
- Sheets("sheet2").Range("a2").Value = Sheets("sheet1").Range("a2").Value
- Sheets("sheet2").Range("b2").Value = Sheets("sheet1").Range("b2").Value
- End If
- Next
- Call aaa
- Application.EnableEvents = True '恢復停止事件 '移到這裡
- ' Application.ScreenUpdating = True '停止 更新Sheet時 畫面,加速運算
- ' Application.DisplayAlerts = True '停止 刪除Sheet時 預設的警告
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 51
- 主題
- 12
- 精華
- 0
- 積分
- 77
- 點名
- 0
- 作業系統
- windows xp sp3
- 軟體版本
- excel 2003 2007
- 閱讀權限
- 20
- 註冊時間
- 2010-5-4
- 最後登錄
- 2023-10-31
|
3#
發表於 2010-8-10 15:27
| 只看該作者
|
|
|
|
|
|