2016-07-21 67 views
0

我接管了已经离开组织的其他人的宏。在运行时错误的标题中列出了以下错误。VBA运行时错误91.故障设置对象变量调试

下面是它告诉我要调试的代码。问题是这是我第一次使用VBA宏,我不确定从哪里开始解决错误。

任何帮助将是伟大的,因为我不能超过这一点。

Cells.Find(What:="Top 10 Rank", After:=ActiveCell, LookIn:=xlValues, _ 
     LookAt:=xlPart, SearchOrder:=xlByRows, _ 
     SearchDirection:= xlNext, MatchCase:=False, _ 
     SearchFormat:=False).Activate 
+0

[Excel VBA range.find动作可能重复](http://stackoverflow.com/questions/21403916/excel-vba-range-find-acting-up) –

回答

1

如果在搜索范围内没有找到该值,那么你会得到一个错误,所以最好在你的代码分成独立的操作:

Dim f As Range 
Set f = Cells.Find(What:="Top 10 Rank", After:=ActiveCell, LookIn:=xlValues, _ 
        LookAt:=xlPart, SearchOrder:=xlByRows, _ 
        SearchDirection:= xlNext, MatchCase:=False, _ 
        SearchFormat:=False) 

If Not f Is nothing Then 
    'do somthing with f 
Else 
    Msgbox "not found!" 
End If 
+0

谢谢你的帮助。 –

+0

@MarkMeiring堆栈溢出(和一般堆栈交换)最好的“谢谢”是一个复选标记。查看上/下投票按钮下的绿色复选标记图标?给它一些爱“,你会得到+2,并告诉世界”这!这就在这里,看!这是答案!“ –

1

未找到数据,所以.Find返回一个空对象引用(Nothing在VBA),如在此说明的Microsoft Support page

,会出现此宏错误,因为在Visual Basic查找方法返回NULL值这使得激活一个单元不可能。

相关问题