EXCEL宏查找函数问题!

请问:下面这个宏,我想将要查找的三个字符(科顺捷),改为要查找两个或一个字符的(如:沸腾,博等)应该如何修改了?谢谢!DimcelAsRangeFori=2To500'从... 请问:下面这个宏,我想将要查找的三个字符(科顺捷),改为要查找两个或一个字符的(如:沸腾,博 等)应该如何修改了?谢谢!

Dim cel As Range
For i = 2 To 500 '从第二行开始,表头排除.先定个500行,不够可以自己加,多了循环时间加长
For ii = 5 To 20 '从第五列开始,排除E列.如5到20列不能覆盖有"科顺捷"的范围,可以自己加.
If Mid(ActiveSheet.Cells(i, ii).Value, 1, 3) = "科顺捷" Then
Cells(i, 4).Value = ActiveSheet.Cells(i, ii).Value
ActiveSheet.Cells(i, ii).Value = ""
End If
Next
Next
展开
 我来答
zzhilling
2012-10-24 · TA获得超过2704个赞
知道大有可为答主
回答量:3255
采纳率:45%
帮助的人:1274万
展开全部
Mid(ActiveSheet.Cells(i, ii).Value, 1, 3) = "科顺捷"

改成

instr(1,ActiveSheet.Cells(i, ii).Value, "科顺捷")

'其中 科顺捷 三个字 你可以随便改 几个字都可以
追问

我在表格里的不是这个名,名称后面还有数字,如下图:

追答
上面照常改

再加下面一条
Cells(i, 4).Value = ActiveSheet.Cells(i, ii).Value
改成
Cells(i, 4).Value=""
for p=1 to len(ActiveSheet.Cells(i, ii).Value)
if (isnumeric(mid(ActiveSheet.Cells(i, ii).Value,p,1))) then exit for
Cells(i, 4).Value=Cells(i, 4).Value & mid(ActiveSheet.Cells(i, ii).Value,p,1)
next
PC_kr
2012-10-24 · TA获得超过230个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:199万
展开全部
FindStr="沸腾"
If ActiveSheet.Cells(i, ii).Value like "*" & FindStr & "*" Then

'更改FindStr变量的值即可.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式