Excel vba代码给出运行时错误91对象变量或未设置块

Excel vba代码给出运行时错误91对象变量或未设置块,excel,vba,Excel,Vba,您能帮我解释一下为什么下面的代码中有91代码错误吗。我将非常感激 Dim ra As Range Dim length As Integer Set ra = Range("AE:AE").Find(What:="Dell EMC Maintenance Representative", LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase

您能帮我解释一下为什么下面的代码中有
91
代码错误吗。我将非常感激

  Dim ra As Range
  Dim length As Integer

Set ra = Range("AE:AE").Find(What:="Dell EMC Maintenance Representative", LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False)
    length = Len(ra)

If length < 40 Then
    MsgBox ("Sales Rep. is missing!")
    GoTo BEG

    Else
Dim ra As范围
将长度设置为整数
设置ra=范围(“AE:AE”)。查找(内容:=“Dell EMC维护代表”,查找:=xlFormulas,查找_
:=xlPart,SearchOrder:=xlByRows,SearchDirection:=xlNext,MatchCase:=_
False,SearchFormat:=False)
长度=长度(ra)
如果长度小于40,则
MsgBox(“销售代表失踪!”)
去乞讨
其他的
去乞讨


非常感谢

尝试对
ra
范围对象执行
len()
操作时,会出现错误。当设置<代码> RA/COD>时,必须考虑<代码>时的情况。查找< /Cord>方法没有找到您的搜索条件。发生这种情况时,
ra
对象不包含任何内容,您无法对
nothing
执行
len()
操作

在尝试检查长度之前,您应该先检查以确保
ra
设置为某个值。像这样:

If ra Is Not Nothing Then
    length = Len(ra)
Else
    'handle this case (length = 0)
End If

请正确格式化您的代码,并确保所有代码都在代码标记内。当您尝试获取返回错误的
LEN
时,您的
FIND
找不到任何内容,因此
ra什么都不是。在搜索值检查
后,如果不是ra,则在继续之前….
。如果应该查找某些内容,请检查两个字符串是否完全匹配-没有多余的空格和隐藏字符?还要注意
Range(“AE:AE”).Find(…
搜索
ActiveSheet
可能值得添加
ThisWorkbook.Worksheets(“Sheet1”).Range(“AE:AE”).Find(…