作者hans50316 (汉斯)
看板Office
标题[问题] VBA寻找特定文字并删除文字之前的row
时间Fri Jul 12 11:56:04 2019
(若是和其他不同软体互动之问题 请记得一并填写)
软体:
版本:excel 2016
在A column某一格会有文字写start,每次都不一定
举例:某一次是在A15出现了start,然後我想要找出A15後,将前面的1-14row全部删掉
请问这个该怎麽写?
-----
Sent from JPTT on my iPhone
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.3.202.124 (香港)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1562903766.A.A1D.html
1F:→ soyoso: 看要以回圈来判断是否为"start",或是range.find搜寻 07/12 11:56
2F:→ soyoso: 再以该回圈变数或是储存格range.row,减1,rows("1:"&变数 07/12 11:57
3F:→ soyoso: 或列号减1).delete的方式删掉 07/12 11:58
4F:→ hans50316: 不好意思,搜寻的部分会了,请问删除列的部分具体是怎 07/12 12:26
5F:→ hans50316: 麽写的呢? 07/12 12:26
7F:→ soyoso: 以回文变数findrow来看,为 rows("1:" & findrow.row-1). 07/12 12:29
8F:→ soyoso: delete 07/12 12:29
9F:→ hans50316: 原来是这样,感谢大师! 07/12 12:31
10F:推 cutekid: 可能要注意 findrow 没有搜寻 start 时的回传值状况 07/12 15:39
11F:→ cutekid: ^到 07/12 15:40
12F:→ soyoso: 其实也不只要考虑没有搜寻到"start",还有当搜寻到是在第 07/12 18:32
13F:→ soyoso: 1列时,减1为0,也是会产生错误 07/12 18:33
14F:→ soyoso: 判断为is nothing,接着range.row为1时exit sub 07/12 18:34
15F:推 cutekid: 了解,findrow is nothing or findrow = 1 -> exit sub 07/12 18:38
16F:→ soyoso: 不是 07/12 18:39
17F:→ soyoso: 是以二个判断先is nothing then exit sub,接着range.row 07/12 18:39
18F:→ soyoso: =1 then exit sub 07/12 18:39
19F:→ cutekid: 想问一下直接用 or 会有什麽问题 07/12 18:51
20F:→ soyoso: 如写在一个判断以条件1 or 条件2,因变数nothing 07/12 18:54
21F:→ soyoso: 变数.row上会产生错误,而出现 没有设定物件变数或with区 07/12 18:54
22F:→ soyoso: 块变数 的错误讯息 07/12 18:55
23F:推 cutekid: 谢谢 s 大说明,我以为vba针对 boolean 判断也有「短路」 07/12 19:01