2013-06-05 30 views
2

VBA和stackoverflow的新功能。如果範圍包含錯誤,清除錯誤VBA

我想搜索工作表,如果有錯誤(#N/A等),我想清除它們。如果沒有錯誤,則什麼也不做。

我用:

Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear 

當有錯誤,但如果沒有錯誤,我在調試模式下結束其工作的罰款。

有什麼建議嗎?

謝謝!

回答

0

您需要

On Error Resume Next 

添加到包含SpecialCells清除您的VBA()方法。

這是必需的,因爲當SpecialCells方法條件不能滿足時,會發生錯誤!

+0

謝謝!這些都是很好的解決方案。 –

0

除了修復你的問題的米奇答案,它最好定義一個範圍變量,並測試它是不是沒有,然後清除它。見下面的代碼。

Sub sample() 

    On Error Resume Next 

    Dim rng As Range 
    Set rng = Cells.SpecialCells(xlCellTypeFormulas, xlErrors) 

    If Not rng Is Nothing Then 
     rng.Clear 
    End If 

End Sub