在范围值上输入不匹配错误,无法找出原因

时间:2019-02-24 14:36:05

标签: excel vba

因此,每次我运行代码时,都会出现Types Mismatch错误,并且无法找到将其更改为正确运行内容的内容。即使这可能仍不能完全解决更大的问题,即如何将我的问题表达为vba代码,但首先要解决的问题。如何获得没有错误的这一行代码:

Range("I" & r & ":" & "I" & B).Value = Range("I" & r & ":" & "I" & B).Value + 1

其中r =代码正在检查的当前行(5到44) B是代码可以检查的最后一行(44) 我想这行要做的就是将一个加到单元格的现有值上(如果在该行中不执行任何操作,则为0;如果满足条件,则为公式,该公式将使值从1到40) / p>

1 个答案:

答案 0 :(得分:0)

您不能像现在这样操作->您不能一次将数字添加到一系列单元格中。您必须一次将数字添加到一个单元格中。

尝试一下:

    Dim i As Integer
    For i = r To B
        Range("I" & i).Value = Range("I" & i).Value + 1
    Next

要处理公式:

    Dim i As Integer
    For i = r To B

        Dim numberToAdd As Integer
        numberToAdd = 1

        If Range("I" & i).HasFormula Then
            Range("I" & i).Value = Range("I" & i).Formula & "+" & Trim(Str(numberToAdd))
        Else
            Range("I" & i).Value = Range("I" & i).Value + 1
        End If

    Next