On Error GoTo Err_Exit Set rngFound = wksToUse.Cells.Find(What:="*", _ LookIn:=xlFormulas, _ LookAt:=xlPart, _ SearchOrder:=xlByRows,_ SearchDirection:=xlPrevious, _ MatchCase:=False) If (Not(rngFound Is Nothing)) Then dblRow = rngFound.Ro...
Set LastUsedCell=wksToUse.Cells(1,1)On Error GoTo Err_Exit Set rngFound=wksToUse.Cells.Find(What:="*",_LookIn:=xlFormulas,_LookAt:=xlPart,_SearchOrder:=xlByRows,_SearchDirection:=xlPrevious,_MatchCase:=False)If(Not(rngFound Is Nothing))Then dblRow=rngFound.Row Set rngFound=wksToUse.C...
这里的判别式Not rng Is Nothing,断句是Not (rng Is Nothing),意思是判断rng是否不为空。为了方便例子,本文后续的代码会默认能找到单元格。FindNext方法 一张工作表里可能有多个同样的数据,我们如果想接着上一个找到的单元格去找下一个单元格,就可以使用FindNext:Dim rng1 As RangeDim rng2 As RangeSet ...
If Not c Is Nothing Then firstAddress = c.Address Do c.Value = 5 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With 经修改后的示例代码如下,即在原代码中加了一句错误处理语句On Error Resume Next,忽略所发生的错误。 Sub test1() Dim c As...
'is nothing 就是没事情发生,没有找到, 前面加一个not,那意思就相反了,就是找到有,也可以前面不加not,只需要把下面ELSE前后位置调一下就可以了。 MsgBox "第一个数据数据在单元格:" & findValue.Address '以上一次查找到的位置往下查找 b = b + 1 ’设置一个计数变量,统计一共找到多少个符合条件的 a =...
Set Rng = .FindNext(Rng) Loop While Not Rng Is Nothing And Rng.Address <> FindAddress End If End With End If End Sub 代码解析:以上过程在工作表Sheets(“7”)的A列中查找InputBox函数对话框中所输入的值,并将查到单元格底色设置成黄色。 第7行代码使用Find方法在工作表Sheets(“7”)的A列中查...
set rg 这一句给变量rg赋值为在f列查找所得到的单元格 if rg is nothing 表示刚才赋值为空,即find找不到 那么if not rg is nothing就是找得到了。
Find方法如果没查到单元格,则rng对象就为Nothing,也就是空的对象,这种情况下我们使用针对rng的方法、属性如rng.Select、rng.value就会报错: 所以为了避免查不到数据而产生的报错,我们一般需要使用一个If语句来判断rng是否为Nothing: If Not rng Is Nothing Then ...
Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub 或者,将代码作如下修改,即去掉原代码中最后一个判断循环的条件c.Address <> firstAddress,因为本程序的功能是在指定区域查找值为2的单元格并替换为数值5,当程序在指定区域查找不到数值2时就会...
Find方法没有找到值为1的单元格,Rng为空。为了避免这种情况,一般加一句判断的代码:if not Rng is nothing Top9: 缺少:表达式 with...endwith结构,缺少必要表达式 好多,先列举这几个常见的... ▍常见错误总结常用调试方法 谁都不能保证程序写一遍完美运行,好的调试及自我发现错误纠正的习惯。对VBA代码完美运行也...