您好,我有这个代码,将参考错误的单元格更改为白色字体。但是我只能这样做一张纸。范围。如何为工作簿中的所有工作表更改for循环以进行循环?我在下面使用了这段代码,但似乎没有用!
Sub Delete_ref_basedontextcondition()
Dim R As Range
'Set rng = Nothing
On Error Resume Next
Set R = Application.InputBox("Select cells To be deleted", Type:=8)
Dim rng As Range
If TypeName(R) <> "Range" Then
Exit Sub
Else
R.Delete
End If
For k = 1 To ThisWorkbook.Worksheets.Count 'runs through all worksheets
Set wks = ThisWorkbook.Worksheets(k)
For Each cell In wks
If cell.Text = "#REF!" Then
cell.Font.Color = RGB(255, 255, 255)
End If
Next
Next
End Sub
答案 0 :(得分:3)
虽然我不同意您隐藏#REF!
错误的方法,而不是处理它们,以致它们不 #REF!
错误(或删除创建错误的公式,这里有一些标准的“循环工作表”代码,您应该能够根据自己的需要进行调整。
Sub bad_ref()
Dim w As Long, ref As Range
On Error Resume Next
For w = 1 To Worksheets.Count
With Worksheets(w)
For Each ref In .Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If ref.Text = "#REF!" Then
ref.Font.ColorIndex = 2
'ref.clear '<~~this clears formatting, formulas. etc from the rogue cell.
End If
Next ref
End With
Next w
End Sub
它应该足够快地运行。我没有检查每个工作表上的每个单元格,而是缩小了要用Range.SpecialCells method批评的单元格,只查看产生错误的公式。像#N/A
错误之类的东西将不复存在。
我已选择将错误作为注释行实际执行。