Excel检测公式是否与表中的计算列不一致,并显示一个小的绿色三角形(表示“此单元格与列公式不一致”)。如何通过VBA找到它们。我发现这个代码应该可以解决问题(来自http://www.ozgrid.com/forum/showthread.php?t=145306),但只有在使用的范围是正常范围而不是表格时才有效:
Dim oneCell As Range
For Each oneCell In ActiveSheet.UsedRange
If oneCell.Errors(xlInconsistentFormula).Value Then
oneCell.Interior.ColorIndex = 6
Else
oneCell.Interior.ColorIndex = xlNone
End If
Next oneCell
但oneCell.Errors(xlInconsistentFormula).Value
只发送“假”,因此无效。
这可以修复为在表格而不是正常范围内工作吗?
编辑:如果您在表中工作,xlInconsistentFormula不会执行任何操作。
答案 0 :(得分:2)
这有效:
Sub fhdjksjdfhs()
Dim r As Range
Dim rBig As Range
Set rBig = ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeFormulas)
For Each r In rBig
If r.Errors.Item(xlInconsistentFormula).Value = True Then
r.Interior.ColorIndex = 6
Else
r.Interior.ColorIndex = xlNone
End If
Next r
End Sub
修改#1:强>
正如 Kersijus 正确指出的那样,将一列或一组列转换为表会抑制引发绿色标记的错误检查级别。此代码不会检测以这种方式抑制的错误。
答案 1 :(得分:0)
如果您的公式不一致,您应该看到如下内容:
如果你没有这样的话,你可能会关闭通知(我认为这是可能的)。