[算表] VBA 選取相連的相同值刪除

看板Office作者 (人生就是一堆BLA BLA)時間8年前 (2017/06/09 23:31), 8年前編輯推噓0(008)
留言8則, 2人參與, 最新討論串1/1
軟體: EXCEL VBA 版本: 2010 想要把 相連的相同值選取來刪除 以達成遊戲效果 示意圖 (內容值只會有 1 2 3 ) 1 1 3 1 2 1 1 1 3 2 1 1 3 1 2 1 ==> 1 1 3 2 2 2 3 1 1 1 2 2 3 1 1 1 1 1 1 < ^ 若我選擇最右下角的1 則會把除了左上四個1以外之 1 做選取或刪除的動作 原先嘗試之VBA寫法為 刪除點選格後,搜尋範圍內空白格之上下左右是否有相同值 若相同則刪除,再尋找下一個空白格 LOOP 但遇到的問題為 若相連的相同值過多, 會重複搜尋到很多次 (已經搜尋過的) 空白格 (即若找到之空白格附近有相同值,刪除後,又會重複搜尋N+新的1個空格) >>因為loop的寫法為再次尋找下一個空格<< 導致無法完全刪除相連的相同值, 故想請問是否有快速的演算,可一次選取 相連的相同值?? ( 不相連的同值則不選) 或是可以避免搜尋重複之空格 以上,若有任何參考解法懇請指教,謝謝 ※ 編輯: Kyuan (1.168.131.113), 06/09/2017 23:37:34

06/10 13:28, , 1F
測試以所選取儲存格比較上下左右,相同時刪除且記錄該儲存
06/10 13:28, 1F

06/10 13:29, , 2F
格位置字串,迴圈於該取得儲存格字串,在比較相連的儲存格
06/10 13:29, 2F

06/10 13:30, , 3F
是否有相同值,有,同上記錄該儲存格字串,直至無儲存格字
06/10 13:30, 3F

06/10 13:31, , 4F
串被記錄時結束
06/10 13:31, 4F

06/10 13:35, , 5F
如儲存格於第1列或第1欄因比較上或左會有錯誤產生,也請判
06/10 13:35, 5F

06/10 13:35, , 6F
斷排除
06/10 13:35, 6F

06/10 13:54, , 7F
上述判斷執行的效果大概是 https://youtu.be/TKoohBD_a9k
06/10 13:54, 7F

06/13 16:56, , 8F
感謝~ 已成功運作
06/13 16:56, 8F
文章代碼(AID): #1PEhzYm8 (Office)
文章代碼(AID): #1PEhzYm8 (Office)