Vba 查找给出运行时错误91的动态变量代码

Vba 查找给出运行时错误91的动态变量代码,vba,excel,Vba,Excel,当我使用以下代码时,是否可以绕过运行时错误91(未设置对象变量) Dim findE As Range findE = Sheets(1).Range("A:AAA").Find(What:="E", searchdirection:=xlLeft, lookat:=xlWhole, searchorder:=xlByColumns).Column 我的findE用于查找文本“E”,它可能不会一直出现。每当它不出现时,就会产生运行时错误 我试着用 Dim findE As Range Set

当我使用以下代码时,是否可以绕过运行时错误91(未设置对象变量)

Dim findE As Range
findE = Sheets(1).Range("A:AAA").Find(What:="E", searchdirection:=xlLeft, lookat:=xlWhole, searchorder:=xlByColumns).Column
我的findE用于查找文本“E”,它可能不会一直出现。每当它不出现时,就会产生运行时错误

我试着用

Dim findE As Range
Set findE = Sheets(1).Range("A:AAA").Find(What:="E", searchdirection:=xlLeft, lookat:=xlWhole, searchorder:=xlByColumns).Column

If not findE Is Nothing Then
'do something
end if
我仍然看到错误。我确实提到了这一点,但仍然没有任何帮助。请就此向我提供建议。谢谢。

试试下面的

Dim FindE As Range
With Sheets(1).Range("A:AAA")
    Set FindE = .Find(What:="E", SearchDirection:=xlLeft, LookAt:=xlWhole, _
        SearchOrder:=xlByColumns)
    If Not FindE Is Nothing Then Set FindE = Columns(FindE.Column)
End With

Dim findE As Range
之后,在错误恢复下一步插入
。这不是最好但最快的方法:-)这将告诉VBA在下一行中的命令失败时不要显示任何错误消息。所以你不是真的在调试,只是禁用了错误消息。@nhee还有其他选择吗?因为我担心,如果我用那种说法,可能会有下划线错误被掩盖掉,而不是从我的头顶上。请记住,这只会禁用下面一行中的错误,因此在find命令之后,您仍然会看到后面几行中的错误。我在谷歌搜索“excel vba find 91”时发现了一些提示,很抱歉,这不能让您省去研究。如果
.find
返回
Nothing
,您将如何访问其
属性?谢谢。只是想和你确认一下,我需要使用以下格式的FindE:cells(1,FindE)。通过将其设置为列进行复制,我将无法选择其他单元格。同时,我也会努力找到答案。我已经找到了解决办法。感谢前面的输入!:)