→ soyoso: 因為每當selection寫入range("b2")的值的時候01/22 14:00
→ soyoso: 又會再次獨發該事件,也就進入無窮迴圈直到發生堆疊錯誤而01/22 14:00
→ soyoso: 出現錯誤訊息01/22 14:00
→ soyoso: 所以要有一個布林值、數字或文字來判斷是否是第一次進入該01/22 14:00
→ soyoso: 獨發事件01/22 14:00
→ soyoso: 並於寫入前調整上述的值,和寫入後調整回預設的值01/22 14:00
→ soyoso: 另外excel版本並無查到2017,請以正確的版本01/22 14:01
→ soyoso: 回文有誤字修改下下,不是"獨"發,是"觸"發01/22 14:03
→ rafaiero: 成功了,感謝01/22 14:08
→ soyoso: 如不設布林值、數字或文字的方式的話01/22 14:24
→ soyoso: 以巨集有判斷是否為0和range.clear來看01/22 14:24
→ soyoso: 也可以於最上方設個判斷,判斷是所觸發事件的儲存格是否為01/22 14:24
→ soyoso: b201/22 14:24
→ soyoso: range.address、range.row和range.column、或intersect01/22 14:24
→ rafaiero: 我有個問題,那這樣要怎麼保護工作簿,因為我有5個以上01/23 09:36
→ rafaiero: 的欄位變動,第一次解鎖後執行,那最後一次上鎖時,是01/23 09:36
→ rafaiero: 不是要在end sub前放Application.EnableEvents = False01/23 09:36
→ rafaiero: 然後上鎖,然後再Application.EnableEvents = True?01/23 09:36
→ rafaiero: 這樣應該不會在上鎖時判斷儲存格變動,又再迴圈回去?01/23 09:37
→ soyoso: 什麼是工作簿?excel是工作表、活頁簿,沒有工作簿01/23 09:38
→ Iories: Application.EnableEvent=False放在Private Sub..底下01/23 09:41
→ Iories: Applicatioin.EnableEvents=True放在End Sub 上01/23 09:41
→ Iories: 其餘程式碼包在中間即可01/23 09:41
→ soyoso: 假設是保護工作表,測試保護或取消保護工作表,都無觸發01/23 09:45
→ soyoso: 內文workbook_sheetchange事件,所以是否要加,就要看實際01/23 09:47
→ soyoso: 原po的情況了01/23 09:47
→ rafaiero: s大說的是,是保護活頁簿,版本是2016的01/23 09:48
→ rafaiero: 感謝各位,回去試試看!01/23 09:49
※ 編輯: rafaiero (223.137.172.138 臺灣), 01/23/2020 09:49:48
→ rafaiero: 因為有先試過,上鎖情形時,觸發後解鎖,於end sub前上 01/23 09:54
→ rafaiero: 鎖,跟每段end if後上鎖,都會發生資料寫不進去就錯誤, 01/23 09:54
→ rafaiero: 才問說是不是解鎖後要先停止觸發,直到結束程序時上鎖 01/23 09:54
→ rafaiero: 後再開啟觸發 01/23 09:54
→ rafaiero: 原本是觸發後解鎖,end sub前上鎖,會錯誤,然後再試每 01/23 09:57
→ rafaiero: 段觸發事件的儲存格變動程式後解鎖endif後上鎖,一樣發 01/23 09:58
→ rafaiero: 生錯誤 01/23 09:58
→ soyoso: 什麼錯誤要說明,同內文所述的錯誤?或是其他錯誤訊息 01/23 09:59