2016-07-21 68 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值這使得激活一個單元不可能。

相關問題