2013-09-27 2 views
1

기본적으로 내가 열 AI에있는 데이터를 가지고 있고 데이터 [열 DG]의 값을 D로 복사하려고합니다. 이 루프에서 D의 항목이 "1CME Cash-Settled Butter"라고 말하면서 찾고 있습니다.런타임 오류 '13'형식 불일치 IF 값 = ​​Then 문 루프

나는 K 열 (= 11)에서 시작하여 붙여 넣습니다. 그런 다음 행을 스택합니다.

루프가 다시 시작되고 다른 값을 찾기 시작합니다.

제 문제는 코드를 여러 번 실행 한 결과입니다. 이후로 코드를 변경하지는 못했지만 이제 런타임 오류 유형 '13'불일치가 나타납니다. 이 문제를 해결하거나 새로운 코드를 작성하는 방법이 있습니까?

저는 VBA를 배우고 있습니다!

감사합니다. i.Text

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 
+0

'cstr (i.Value) = "1CME Cash-Settled Butter"'시도해보십시오 – Santosh

+0

수식 오류가있는 셀이 있는지 확인하십시오. –

+0

@Santosh, 그것은 일했습니다 !!!!!!!! 넌 최고야. 정말 고마워! Cstr()이 더 효과가있는 이유를 간략하게 설명 할 수 있다고 생각하십니까? Cstr을 사용하여 다른 루프를 대체해야합니까? – favoritewordgoeshere

답변

2

변경 i.Value. 값을 정수와 비교하기 때문에 값을 원하지 않습니다. 문자열을 확인하고 i.Text을 사용하면됩니다.

또한 cstr(i.Value) 수 있지만 최선의 방법은 아닙니다.