2017-05-23 3 views
1
私はワークシートから任意の#N/Aエラーを取り除くために次の行を使用してい

VBAコードは、ワークシートから#N/Aエラーを削除するにはどの

Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Clear 

私はそれを再構築するにはどうすればよいですある方法では#N/Aエラーがある場合にのみ削除しようとします(すべての場合にエラーが出ないため)。

ありがとうございました!

答えて

1

国マイルにより、最良の方法は、ワークシート(あるいは別のワークシート)に余分なエリアを定義することであり、式

=IFNA(A1, "") 

または同等

=IF(ISNA(A1), "", A1) 

(コピーを使用します明らかに)。

あなたのワークシートの構造を壊さないようにして、セルの変換によるセルは、組み込みのExcel関数で#N/Aが伝播する傾向にあるという計算サイクルで問題を引き起こす可能性があります。

しかし、あなた必見使用VBAは、何らかの理由で、あなたは、フォームvは、セルの値を含むVariantある

If v = CVErr(xlErrNA) 

のコードを使用して、特定の#N/Aエラーを検出することができれば、すでにエラー値が設定されています。

0

罠このようなエラー:

Dim rngToFind As Range, PossError As Range 

On Error Resume Next 
Set rngToFind = Cells.SpecialCells(xlCellTypeFormulas, xlErrors) 
On Error GoTo 0 

If Not rngToFind Is Nothing Then 
    For Each PossError In rngToFind 
     If PossError.Text = "#N/A" Then PossError.Clear 
    Next 
End If 

Dim rngToFind As Range 

On Error Resume Next 
Set rngToFind = Cells.SpecialCells(xlCellTypeFormulas, xlErrors) 
On Error GoTo 0 

If Not rngToFind Is Nothing Then 
    rngToFind.Clear 
End If 

あなたがそのような#N/Aとして、特定のエラータイプを追加したい場合は、これを行うことができます

関連する問題