在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,就可以作一个判断了。 |
|
来自: asaser > 《2017(70)》