诚如楼上二位的回答,这个需求用公式实现是最为便利的,用VBA的话可以参考下面的内容,运行速度会比一级仁兄提供的更快些。
实际应用时,修改iStr和newStr两个变量就可以了。
----Excel资深初学者
追问哇!好专业!有个小小的问题,运行后填充数字的列偏左了一列,还有13%被显示为0.13,可以解决这个问题吗?多谢了
追答列数调整Offset(, 3)里面的数字就可以了,提问的是从B向E偏移,所以是3,再向右一列就是4,以此类推。
单元格写入数值型字符串要用到Format函数设置格式,调整后的代码如下
Sub strOffset()多谢,非常有用!就是有个小缺点,应用到整张表之后E列有些格子为空,如果再用这个方法换个关键字填充那些空格的话,原来填好的数据又会变动。有没有可以灵活变动关键字的方法呢?
追答不知你要的是什么样的效果。试试以下公式,满意吗?!
=IF(ISERR(FIND("X",B1)),"不含x","A")
多谢大侠,学习了。就是那个关键字在一个句子里,用mid是不是取不到,每行G列有句子,想实现如果每行G列句子中有“橡胶”,则在该行第L列填充“13%”。