types不匹配,但function的代码

这个macros被devise用来识别任何单元格中的string“%”,如果存在的话,通过将它着色为黄色来标识它。

有趣的是,它确实工作,但我不断收到types不匹配错误后续行专门:

If InStr(rngCell.Value, "%") > 0 Then 

这是我的完整代码如下:

 Public Sub Markerrorvalues() Dim iWarnColor As Integer Dim rng As Range Dim rngCell As Variant Dim LR As Long Dim vVal Dim tRow LR = Cells(Rows.Count, "B").End(xlUp).Row Set rng = Range("C1:C" & LR) iWarnColor = xlThemeColorAccent2 For Each rngCell In rng.Cells tRow = rngCell.Row If InStr(rngCell.Value, "%") > 0 Then rngCell.Interior.ColorIndex = iWarnColor Else rngCell.Interior.Pattern = xlNone End If Next End Sub 

任何帮助,将不胜感激!

可能你有一些错误值的单元格(例如#REF! , #DIV/0!等)

要过滤掉这些,把你麻烦的代码包装在一个Not IsError条件中:

 If Not IsError(rngCell.Value) Then If InStr(rngCell.Value, "%") > 0 Then rngCell.Interior.ColorIndex = iWarnColor Else rngCell.Interior.Pattern = xlNone End If EndIf