我在Excel 2010中有一个电子表格,有时会出现引用错误。我想清除该特定行中的单元格;即。清除第7行中包含引用错误的所有单元格。我遇到了一些麻烦。
Sub Check_Ref()
Dim rng As Range
Dim rngError As Range
Dim cell as 'something
Set rng = Sheets("All Projects").Range("AE7:AK7")
Dim rngError As Range
Set rngError = rng.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not rngError Is Nothing Then
For Each cell In rngError
'Clear the cell
Next
End If
End Sub
这是我到目前为止所拥有的。我不知道如何清除细胞。任何帮助都会很棒。
答案 0 :(得分:2)
不需要循环:
<击> 撞击>
<击>Sub Check_Ref()
Dim rng As Range
Dim rngError As Range
Set rng = Sheets("All Projects").Range("AE7:AK7")
Set rngError = rng.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not rngError Is Nothing Then
rngError.Clear
End If
End Sub
击> <击> 撞击> 修改#1 强>
如果在工作表上找不到错误,则禁用错误:
Sub Check_Ref()
Dim rng As Range
Dim rngError As Range
Set rng = Sheets("All Projects").Range("AE7:AK7")
On Error Resume Next
Set rngError = rng.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
On Error GoTo 0
If Not rngError Is Nothing Then
rngError.ClearContents
End If
End Sub
答案 1 :(得分:0)
如果您要隔离#REF
错误,则建议您更准确地了解如何处理从SpecialCells重新启动的xlErrors
:
Sub Check_Err()
Dim rng As Range
Dim rng2 As Range
Dim rngError As Range
Set rng = Sheets("All Projects").Range("AE7:AK7")
On Error Resume Next
Set rngError = rng.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
On Error GoTo 0
If Not rngError Is Nothing Then
For Each rng2 In rngError
If rng2.Value2 = CVErr(xlErrRef) Then rng2.ClearContents
Next
End If
End Sub