1

基本的に私がやっていることは、列 AI にデータがあり、データ [Columns DG] を D の値でコピーしようとしていることです。このループでは、D のエントリが「1CME Cash-落ち着いたバター」。

次に、列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
4

1 に答える 1

3

に変更i.Valuei.Textます。整数と比較しているため、値は必要ありません。文字列を確認したい場合は、を使用i.Textしてそれを行います。

もできますがcstr(i.Value)、それは最善の方法ではありません。

于 2013-09-27T19:19:47.400 に答える