[算表] 儲存格變動就執行會發生堆疊錯誤

看板Office作者 (路人甲)時間4年前 (2020/01/22 13:41), 4年前編輯推噓0(0036)
留言36則, 3人參與, 4年前最新討論串1/1
軟體:excel 版本:2016 https://i.imgur.com/9vfTRsm.jpg
綠底字不用管,原本執行都沒問題 結果想把這段巨集套用每個工作表時 設在 thisworkbook 就悲劇了 而且還改不回原本正常執行的狀態 是有什麼問題嗎 這段如果是設在一般下執行是沒問題的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.82.245 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1579671703.A.9DC.html

01/22 14:00, 4年前 , 1F
因為每當selection寫入range("b2")的值的時候
01/22 14:00, 1F

01/22 14:00, 4年前 , 2F
又會再次獨發該事件,也就進入無窮迴圈直到發生堆疊錯誤而
01/22 14:00, 2F

01/22 14:00, 4年前 , 3F
出現錯誤訊息
01/22 14:00, 3F

01/22 14:00, 4年前 , 4F
所以要有一個布林值、數字或文字來判斷是否是第一次進入該
01/22 14:00, 4F

01/22 14:00, 4年前 , 5F
獨發事件
01/22 14:00, 5F

01/22 14:00, 4年前 , 6F
並於寫入前調整上述的值,和寫入後調整回預設的值
01/22 14:00, 6F

01/22 14:01, 4年前 , 7F
另外excel版本並無查到2017,請以正確的版本
01/22 14:01, 7F

01/22 14:03, 4年前 , 8F
回文有誤字修改下下,不是"獨"發,是"觸"發
01/22 14:03, 8F

01/22 14:08, 4年前 , 9F
成功了,感謝
01/22 14:08, 9F

01/22 14:24, 4年前 , 10F
如不設布林值、數字或文字的方式的話
01/22 14:24, 10F

01/22 14:24, 4年前 , 11F
以巨集有判斷是否為0和range.clear來看
01/22 14:24, 11F

01/22 14:24, 4年前 , 12F
也可以於最上方設個判斷,判斷是所觸發事件的儲存格是否為
01/22 14:24, 12F

01/22 14:24, 4年前 , 13F
b2
01/22 14:24, 13F

01/22 14:24, 4年前 , 14F
range.address、range.row和range.column、或intersect
01/22 14:24, 14F

01/23 09:36, 4年前 , 15F
我有個問題,那這樣要怎麼保護工作簿,因為我有5個以上
01/23 09:36, 15F

01/23 09:36, 4年前 , 16F
的欄位變動,第一次解鎖後執行,那最後一次上鎖時,是
01/23 09:36, 16F

01/23 09:36, 4年前 , 17F
不是要在end sub前放Application.EnableEvents = False
01/23 09:36, 17F

01/23 09:36, 4年前 , 18F
然後上鎖,然後再Application.EnableEvents = True?
01/23 09:36, 18F

01/23 09:37, 4年前 , 19F
這樣應該不會在上鎖時判斷儲存格變動,又再迴圈回去?
01/23 09:37, 19F

01/23 09:38, 4年前 , 20F
什麼是工作簿?excel是工作表、活頁簿,沒有工作簿
01/23 09:38, 20F

01/23 09:41, 4年前 , 21F
Application.EnableEvent=False放在Private Sub..底下
01/23 09:41, 21F

01/23 09:41, 4年前 , 22F
Applicatioin.EnableEvents=True放在End Sub 上
01/23 09:41, 22F

01/23 09:41, 4年前 , 23F
其餘程式碼包在中間即可
01/23 09:41, 23F

01/23 09:45, 4年前 , 24F
假設是保護工作表,測試保護或取消保護工作表,都無觸發
01/23 09:45, 24F

01/23 09:47, 4年前 , 25F
內文workbook_sheetchange事件,所以是否要加,就要看實際
01/23 09:47, 25F

01/23 09:47, 4年前 , 26F
原po的情況了
01/23 09:47, 26F

01/23 09:48, 4年前 , 27F
s大說的是,是保護活頁簿,版本是2016的
01/23 09:48, 27F

01/23 09:49, 4年前 , 28F
感謝各位,回去試試看!
01/23 09:49, 28F
※ 編輯: rafaiero (223.137.172.138 臺灣), 01/23/2020 09:49:48

01/23 09:54, 4年前 , 29F
因為有先試過,上鎖情形時,觸發後解鎖,於end sub前上
01/23 09:54, 29F

01/23 09:54, 4年前 , 30F
鎖,跟每段end if後上鎖,都會發生資料寫不進去就錯誤,
01/23 09:54, 30F

01/23 09:54, 4年前 , 31F
才問說是不是解鎖後要先停止觸發,直到結束程序時上鎖
01/23 09:54, 31F

01/23 09:54, 4年前 , 32F
後再開啟觸發
01/23 09:54, 32F

01/23 09:57, 4年前 , 33F
原本是觸發後解鎖,end sub前上鎖,會錯誤,然後再試每
01/23 09:57, 33F

01/23 09:58, 4年前 , 34F
段觸發事件的儲存格變動程式後解鎖endif後上鎖,一樣發
01/23 09:58, 34F

01/23 09:58, 4年前 , 35F
生錯誤
01/23 09:58, 35F

01/23 09:59, 4年前 , 36F
什麼錯誤要說明,同內文所述的錯誤?或是其他錯誤訊息
01/23 09:59, 36F
文章代碼(AID): #1U9-2NdS (Office)