VBA: 错误 13,类型不匹配

VBA: Error 13, type mismatch

我想让 Excel 自动更改单元格的颜色,如果该单元格的值比同一行左侧三列的单元格大或小 10%。

代码如下:

Sub testing1()
    Dim x As Integer
    Dim y As Integer

    For x = 35 To 5 Step -3
        For y = 11 To 75 Step 1
            If Cells(y, x).Value < 0.9 * Cells(y, x - 3).Value Or _
               Cells(y, x).Value > 1.1 * Cells(y, x - 3) Then
                Cells(y, x).Interior.ColorIndex = 22
            End If
        Next y
    Next x
End Sub

在我定义y之前,我使用的是单行,比如11。它是这样的:cells(11,x).value;代码 运行 没有问题。

但是,当我从数字更改为变量 y 时,出现错误:Error 13, type mismatch.

此错误的来源是什么?

再放一个条件图层。实际上,如果您有一个包含 a 的单元格并将其乘以 5 ,通常会出现类型不匹配错误。

If IsNumeric(Cells(y, x)) Then
    If Cells(y, x).Value < 0.9 * Cells(y, x - 3).Value Or Cells(y, x).Value > 1.1 * Cells(y, x - 3) Then

        Cells(y, x).Interior.ColorIndex = 22

    End If
End If