[问题] VBA寻找特定文字并删除文字之前的row

楼主: hans50316 (汉斯)   2019-07-12 11:56:04
(若是和其他不同软件互动之问题 请记得一并填写)
软件:
版本:excel 2016
在A column某一格会有文字写start,每次都不一定
举例:某一次是在A15出现了start,然后我想要找出A15后,将前面的1-14row全部删掉
请问这个该怎么写?
作者: soyoso (我是耀宗)   2018-07-12 11:56:00
看要以循环来判断是否为"start",或是range.find搜寻再以该循环变量或是储存格range.row,减1,rows("1:"&变量或列号减1).delete的方式删掉
楼主: hans50316 (汉斯)   2019-07-12 12:26:00
不好意思,搜寻的部分会了,请问删除列的部分具体是怎么写的呢?https://i.imgur.com/O40YEDx.jpg
作者: soyoso (我是耀宗)   2019-07-12 12:29:00
以回文变量findrow来看,为 rows("1:" & findrow.row-1).delete
楼主: hans50316 (汉斯)   2019-07-12 12:31:00
原来是这样,感谢大师!
作者: cutekid (可爱小孩子)   2019-07-12 15:39:00
可能要注意 findrow 没有搜寻 start 时的回传值状况^到
作者: soyoso (我是耀宗)   2019-07-12 18:32:00
其实也不只要考虑没有搜寻到"start",还有当搜寻到是在第1列时,减1为0,也是会产生错误判断为is nothing,接着range.row为1时exit sub
作者: cutekid (可爱小孩子)   2019-07-12 18:38:00
了解,findrow is nothing or findrow = 1 -> exit sub
作者: soyoso (我是耀宗)   2019-07-12 18:39:00
不是是以二个判断先is nothing then exit sub,接着range.row=1 then exit sub
作者: cutekid (可爱小孩子)   2019-07-12 18:51:00
想问一下直接用 or 会有什么问题
作者: soyoso (我是耀宗)   2019-07-12 18:54:00
如写在一个判断以条件1 or 条件2,因变量nothing变量.row上会产生错误,而出现 没有设定物件变量或with区块变量 的错误讯息
作者: cutekid (可爱小孩子)   2019-07-12 19:01:00
谢谢 s 大说明,我以为vba针对 boolean 判断也有“短路”https://bit.ly/2LQHvh5

Links booklink

Contact Us: admin [ a t ] ucptt.com