If Columns(i).Find("★", , , xlWhole).Row > 0 Then
goto 替换
else
i=i+1
end if
像这个★,一旦找不到就会弹出"运行时错误",而不执行i=i+1 怎么办?
Excel vba 要是用find函数查找内容,找不到怎么办?
答案:5 悬赏:30
解决时间 2021-03-09 07:14
- 提问者网友:℡她的他i☆
- 2021-03-08 14:05
最佳答案
- 二级知识专家网友:为你轻狂半世殇
- 2021-03-08 14:44
解决办法如下:
1、首先,打开Excel,创建一个数据表格,接下来以下图为例进行演示,如下图所示,然后进入下一步。
2、其次,需要调出日期中的月份和数字。将光标移动到单元格“ B2”,然后在菜单栏中单击“公式”,选择文本-find,如下图所示,然后进入下一步。
3、接着,在弹出窗口中,输入内容,如下图所示,然后进入下一步。
4、然后,按回车确定以查找与月份对应的数据的位置,如下图所示,然后进入下一步。
5、随后,将公式向下拖动以将公式填充到其他单元格中。如下图所示,然后进入下一步。
6、最后,也可以用相同的方法找出号数的位置。如下图所示。这样,问题就解决了。
1、首先,打开Excel,创建一个数据表格,接下来以下图为例进行演示,如下图所示,然后进入下一步。
2、其次,需要调出日期中的月份和数字。将光标移动到单元格“ B2”,然后在菜单栏中单击“公式”,选择文本-find,如下图所示,然后进入下一步。
3、接着,在弹出窗口中,输入内容,如下图所示,然后进入下一步。
4、然后,按回车确定以查找与月份对应的数据的位置,如下图所示,然后进入下一步。
5、随后,将公式向下拖动以将公式填充到其他单元格中。如下图所示,然后进入下一步。
6、最后,也可以用相同的方法找出号数的位置。如下图所示。这样,问题就解决了。
全部回答
- 1楼网友:余生继续浪
- 2021-03-08 20:13
If IsError(Columns(i).Find("★", , , xlWhole).Row) = False Then
- 2楼网友:甜野猫
- 2021-03-08 18:48
看了的代码,先说个无关紧要的建议,最好不要使用GOTO
解决你的问题,需要使用错误捕获语句,下面的例子代码:
dim r as range
on error resume next '不报错
set r=columns(i).find("★",,,xlwhole)
on error goto 0'恢复报错
if r is nothing then 'find失败
n=r.row'找到
else
n=0 '没找到
end if
if n>0 then
'你原来的语句......
- 3楼网友:你好陌生人
- 2021-03-08 17:16
1、打开Excel制作如图所示的表格。
2、 现在要在日期中调出月份和号数。把光标移动到“B2”单元格,单击菜单栏“公式”——文本——find。
3、在弹出的对话框中输入如图所示的内容。
4、 现在单击确定就可以找到月份所对应的数据的位置了。
5、用下拉手柄下下拖动公式可以把公式填充到其他单元格。
6、用同样的方式可以把号数的位置也找出来。就完成了。
- 4楼网友:短发女王川岛琦
- 2021-03-08 15:38
程序运行正常,一切ok
vba每次只能查找一个rng啊 ,你不循环咋办,第一循环后内存中rng已经得到了一个adddress
不重设range那就是死循环
没有set rng = range("h2:h36").findnext(rng),你的loop后面的条件就是没用的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯