2

範囲内のエラーを列挙する簡単な方法はありますか?

次のコードを使用しようとしましたが、機能しません

Dim err As Object

For Each err In Plan10.Range("M2:AB8000").Errors
    Debug.Print err.Value
Next err

ドキュメントから、を使用してエラーを単純に列挙することはできないことがわかっていますrange.errors。範囲内のすべてのセルのすべてのエラーをスキャンする問題を解決しましたが、非常に遅いです

その仕事をするためのより良い方法はありますか?

4

1 に答える 1

4

SpecialCellsエラーを含む/評価するセルを取得するために使用できます

VBAエラー処理は、検索範囲にエラーセルがない場合にエラーを回避します

その後、必要に応じてエラー範囲 (rng1およびに存在する場合rng2) を処理できます。

Sub GetErrors()
Dim rng1 As Range
Dim rng2 As Range
On Error Resume Next
Set rng1 = Sheets(1).Range("M2:AB8000").SpecialCells(xlConstants, xlErrors)
Set rng2 = Sheets(1).Range("M2:AB8000").SpecialCells(xlFormulas, xlErrors)
On Error GoTo 0
If Not rng1 Is Nothing Then MsgBox "Constant errors at " & rng1.Address
If Not rng2 Is Nothing Then MsgBox "Formulae errors at " & rng2.Address
End Sub
于 2012-11-05T12:25:04.967 に答える