运行时错误'13'类型不匹配IF值=然后语句循环

时间:2013-09-27 18:07:21

标签: vba excel-vba excel-2007 excel

基本上我正在做的是我在AI列中有数据而我正在尝试用D中的值复制数据[Columns DG]。在这个循环中我正在寻找D中的条目说“ 1CME Cash-Settled Butter“。

然后我从列K(= 11)开始我粘贴它。然后我堆叠行。

循环重新开始并开始寻找不同的值。

我的问题是我已经运行了很多次运行的代码。我没有改变代码,但现在我得到运行时错误类型'13'不匹配。有没有办法解决这个问题或编写新代码?

我刚刚学习VBA!

谢谢!

iRow = 2
For Each i In Range("D2:D200")
    If i.Value = "1CME Cash-Settled Butter" Then
        Range(i.Offset(0, 0), i.Offset(0, 3)).Copy
        Cells(iRow, 11).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,   SkipBlanks:=False, Transpose:=False
        iRow = iRow + 1
    End If
Next i

iRow = 30
For Each i In Range("D2:D200")
    If i.Value = "-1CME Cash-Settled Butter" Then
        Range(i.Offset(0, 0), i.Offset(0, 3)).Copy
        Cells(iRow, 11).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        iRow = iRow + 1
    End If
Next i

1 个答案:

答案 0 :(得分:3)

i.Value更改为i.Text。您不需要Value,因为您将它与整数进行比较。您想检查字符串,使用i.Text即可。

您也可以cstr(i.Value),但这不是最佳方式。