[問題] VBA尋找特定文字並刪除文字之前的row

看板Office作者 (漢斯)時間5年前 (2019/07/12 11:56), 編輯推噓4(4020)
留言24則, 3人參與, 5年前最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體: 版本:excel 2016 在A column某一格會有文字寫start,每次都不一定 舉例:某一次是在A15出現了start,然後我想要找出A15後,將前面的1-14row全部刪掉 請問這個該怎麼寫? ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.3.202.124 (香港) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1562903766.A.A1D.html

07/12 11:56, 5年前 , 1F
看要以迴圈來判斷是否為"start",或是range.find搜尋
07/12 11:56, 1F

07/12 11:57, 5年前 , 2F
再以該迴圈變數或是儲存格range.row,減1,rows("1:"&變數
07/12 11:57, 2F

07/12 11:58, 5年前 , 3F
或列號減1).delete的方式刪掉
07/12 11:58, 3F

07/12 12:26, 5年前 , 4F
不好意思,搜尋的部分會了,請問刪除列的部分具體是怎
07/12 12:26, 4F

07/12 12:26, 5年前 , 5F
麼寫的呢?
07/12 12:26, 5F

07/12 12:26, 5年前 , 6F

07/12 12:29, 5年前 , 7F
以回文變數findrow來看,為 rows("1:" & findrow.row-1).
07/12 12:29, 7F

07/12 12:29, 5年前 , 8F
delete
07/12 12:29, 8F

07/12 12:31, 5年前 , 9F
原來是這樣,感謝大師!
07/12 12:31, 9F

07/12 15:39, 5年前 , 10F
可能要注意 findrow 沒有搜尋 start 時的回傳值狀況
07/12 15:39, 10F

07/12 15:40, 5年前 , 11F
^到
07/12 15:40, 11F

07/12 18:32, 5年前 , 12F
其實也不只要考慮沒有搜尋到"start",還有當搜尋到是在第
07/12 18:32, 12F

07/12 18:33, 5年前 , 13F
1列時,減1為0,也是會產生錯誤
07/12 18:33, 13F

07/12 18:34, 5年前 , 14F
判斷為is nothing,接著range.row為1時exit sub
07/12 18:34, 14F

07/12 18:38, 5年前 , 15F
瞭解,findrow is nothing or findrow = 1 -> exit sub
07/12 18:38, 15F

07/12 18:39, 5年前 , 16F
不是
07/12 18:39, 16F

07/12 18:39, 5年前 , 17F
是以二個判斷先is nothing then exit sub,接著range.row
07/12 18:39, 17F

07/12 18:39, 5年前 , 18F
=1 then exit sub
07/12 18:39, 18F

07/12 18:51, 5年前 , 19F
想問一下直接用 or 會有什麼問題
07/12 18:51, 19F

07/12 18:54, 5年前 , 20F
如寫在一個判斷以條件1 or 條件2,因變數nothing
07/12 18:54, 20F

07/12 18:54, 5年前 , 21F
變數.row上會產生錯誤,而出現 沒有設定物件變數或with區
07/12 18:54, 21F

07/12 18:55, 5年前 , 22F
塊變數 的錯誤訊息
07/12 18:55, 22F

07/12 19:01, 5年前 , 23F
謝謝 s 大說明,我以為vba針對 boolean 判斷也有「短路」
07/12 19:01, 23F

07/12 19:08, 5年前 , 24F
07/12 19:08, 24F
文章代碼(AID): #1TA0JMeT (Office)