打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA基础入门(42)Find查找到不存在的数据出错怎么办?


在Excel中查找数据,Find比遍历单元格简洁了非常多,效率也会提高很多,看个例子,在A1至A10单元格内查找数据。

查找“数据7”,下面1,2的执行结果都为:

1

遍历单元格在Excel中查找数据

Sub FindData2()Dim TargetRow As IntegerFor TargetRow = 1 To 10    If Sheets("LIST").Range("A" & TargetRow) = "数据7" Then        MsgBox "所查找的数据单元格为 :[A" & TargetRow & "]"        Exit For    End IfNextEnd Sub

2

用Find在Excel中查找数据

Sub FindData()Dim TargetRow As IntegerTargetRow = Sheets("LIST").Range("A1:A10").Find(What:="数据7").rowMsgBox "所查找的数据单元格为 :[A" & TargetRow & "]"End Sub

但是如果查询的数据不存在的时候会怎么样呢?

遍历的方法只是没有弹出对话框,而用Find则弹出了报错的对话框

添加不存在时的处理逻辑

1

遍历单元格在Excel中查找数据

Sub FindData2()Dim TargetRow As IntegerFor TargetRow = 1 To 10    If Sheets("LIST").Range("A" & TargetRow) = "数据11" Then        MsgBox "所查找的数据单元格为 :[A" & TargetRow & "]"        Exit Sub    End IfNextMsgBox "所查找的数据单元格不存在"End Sub'如果查找到数据直接跳出Sub,如果能执行到循环结束,说明一直都没有查找到数据,则弹出不存在的提示框

2

用Find在Excel中查找数据

Sub FindData()Dim TargetRow As IntegerDim CellFind As ObjectSet CellFind = Sheets("LIST").Range("A1:A10").Find(What:="数据11")If Not CellFind Is Nothing Then    TargetRow = CellFind.row    MsgBox "所查找的数据单元格为 :[A" & TargetRow & "]"Else    MsgBox "所查找的数据单元格不存在"End IfEnd Sub'定义了变量CellFind,没有找到数据时候 返回的CellFind 为Nothing,就可以作一个判断了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
获取VSFlexGrid鼠标选中的单元格或行数据
VBA程序集(第2辑)
Excel VBA解读(26):在对象中循环——For Each-Next结构的使用
excel编程系列基础:常用语句之循环语句的逻辑理解
学习VBA,报表做到飞 第一章 入门篇 1.12 FOR EACH语句
兰版VBA数组入门10讲
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服