Excel 类型不匹配,但功能代码

Excel 类型不匹配,但功能代码,excel,vba,Excel,Vba,此宏用于标识任何单元格中的字符串“%”,如果存在,则将其涂成黄色以进行标识 有趣的是,它确实起作用了,但我一直得到类型不匹配错误的后记,特别是在这行: 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 D

此宏用于标识任何单元格中的字符串“%”,如果存在,则将其涂成黄色以进行标识

有趣的是,它确实起作用了,但我一直得到类型不匹配错误的后记,特别是在这行:

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!
等)

要过滤掉这些问题,请将您的麻烦代码包装在
非iError
条件中:

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

可能您有一些单元格具有错误值(例如
\REF!
\DIV/0!
等)

要过滤掉这些问题,请将您的麻烦代码包装在
非iError
条件中:

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

试图复制它,但。。。它运行平稳,没有错误:/你什么时候收到错误?是的,对我来说也是如此。你能给我们一个运行它的数据的例子吗?如果我在下面删除一定数量的行,这看起来确实有效。。也许在C列中,运行该行时有点不高兴:如果InStr(rngCell.Value,“%”>0,则答案是C列中有一个错误值。这是一个字符串,但它仍然不喜欢在其上运行函数,并尝试复制它,但。。。它运行平稳,没有错误:/你什么时候收到错误?是的,对我来说也是如此。你能给我们一个运行它的数据的例子吗?如果我在下面删除一定数量的行,这看起来确实有效。。也许在C列中,有一些内容在运行该行时不满意:如果InStr(rngCell.Value,“%”)大于0,则答案是C列中有一个错误值。这是一个字符串,但它仍然不喜欢在上运行该函数it@user1717622:克里斯的回答是对的;我给你们澄清了一点。@user1717622:chris的回答是对的;我给你澄清了一点。