Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 运行时错误';13';如果value=Then语句循环,则类型不匹配_Vba_Excel_Excel 2007 - Fatal编程技术网

Vba 运行时错误';13';如果value=Then语句循环,则类型不匹配

Vba 运行时错误';13';如果value=Then语句循环,则类型不匹配,vba,excel,excel-2007,Vba,Excel,Excel 2007,基本上,我所做的是,我在A-I列中有数据,我试图通过D中的值复制数据[D-G列]。在这个循环中,当D中的条目显示“1CME现金结算黄油”时,我在寻找数据 然后从K列(=11)开始粘贴。然后我把行叠起来 循环重新开始并开始寻找不同的值 我的问题是我已经运行了很多次代码。从那以后我就没有更改代码,但现在我发现运行时错误类型“13”不匹配。有没有办法解决这个问题或编写新代码 我只是在学VBA 谢谢 iRow = 2 For Each i In Range("D2:D200") If i.Val

基本上,我所做的是,我在A-I列中有数据,我试图通过D中的值复制数据[D-G列]。在这个循环中,当D中的条目显示“1CME现金结算黄油”时,我在寻找数据

然后从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

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


您也可以
cstr(i.Value)
,但这不是最好的方法。

cstr(i.Value)=“1CME现金结算黄油”
试试这个检查是否有任何单元格有公式错误?@Santosh,成功了!!!!!!!!你真棒。非常感谢!你认为你能简单地解释一下为什么Cstr()工作得更好吗?我应该使用Cstr替换我的其他循环吗?欢迎使用SO,FavoriteWordGoesher。“1CME现金结算黄油”是一个字符串,其中as I是一个范围对象。Cstr将范围对象的值转换为字符串,然后可以进行比较。