2016-12-27 16 views
0

#DIV/0!エラーを削除するには、このvbaコードを使用しています。VBAでエラーが発生した場合は削除してください

Sub IFERROR() 
Dim frange As Range, c As Range, ws As Worksheet 
For Each ws In Worksheets 
    On Error Resume Next 
    Set frange = ws.Cells.SpecialCells(xlCellTypeFormulas) 
    On Error GoTo 0 
    If Not frange Is Nothing Then 
     For Each c In frange 
      c.Formula = "=IFERROR(" & Right(c.Formula, Len(c.Formula) - 1) & ","""")" 
     Next c 
    End If 
    Set frange = Nothing 
Next ws 
End Sub 

上記のコードは、誰もがCVErr(xlErrDiv0)は、あなたが探しているものであるように#DIV/0!

答えて

0

を示すことは見えている細胞のみにこのVBAコードを適用するために私を助けることができ、すべてのセルにIFERROR式を適用しています。 CVErr(xlErrDiv0)とエラーが含まれていないセルの値を比較すると、エラーが発生するため、最初にセルに何らかのエラーが含まれているかどうかを確認する必要があります。

Sub IFERROR() 
    Dim ws As Worksheet 
    For Each ws In Worksheets 
     On Error Resume Next 
     Set frange = ws.Cells.SpecialCells(xlCellTypeFormulas) 
     On Error GoTo 0 
     If Not frange Is Nothing Then 
      For Each c In frange 
       If IsError(c.Value) Then 
        If c.Value = CVErr(xlErrDiv0) Then 
         c.Formula = "=IFERROR(" & Right(c.Formula, Len(c.Formula) - 1) & ","""")" 
        End If 
       End If 
      Next c 
     End If 
     Set frange = Nothing 
    Next ws 
End Sub 
+0

ありがとうございます。正常に動作しています.............. –

+0

上記のコードをいくつかのセルで実行した後、このエラーを#VALUEにしています!これを取り除く方法 –

+0

'c.Value = CVErr(xlErrDiv0 )またはc.Value = CVErr(xlErrValue) ' – Limak

関連する問題