2017-09-20 47 views
0

試圖查看列中的單元格,然後查明單元格是否具有6/7字符以及是否有i。VBA有條件的跳過語句循環

然後複製。

Sub ctest() 
Dim i As Long 
For i = 1 To 5000 
    With Range("AR" & i) 

     If Left(.Value, 1) <> "i" Then GoTo NextIteration Else 

     If Len(.Value) = 6 Then .Copy Destination:=.Offset(, 2) 
     If Len(.Value) = 7 Then .Copy Destination:=.Offset(, 2) 

NextIteration: 
    End With 

Next i 
End Sub 

但這似乎並沒有工作以及.. 謝謝你們。

+0

子CTEST() 昏暗我只要 對於i = 1到5000 隨着範圍( 「AR」 &i) If Left(.Value,1)<>「i」Then GoTo NextIteration Else If Len(.Value)= 6 Then .Copy Destination:=。Offset(,2) 如果Len(.Value )= 7然後。複製目標:=。偏移(,2) NextIteration: End With Next i End Sub – user3724482

+0

Define「但這似乎不起作用。」 - 它給出了一個錯誤?它不符合你的期望嗎? – YowE3K

回答

0

如果你只是想跳過循環,爲什麼不使用基本if聲明

Sub ctest() 
Dim i As Long 
For i = 1 To 5000 
    With Range("AR" & i) 

     If Left(.Value, 1) = "i" Then 
      If Len(.Value) = 6 Then .Copy Destination:=.Offset(, 2) 
      If Len(.Value) = 7 Then .Copy Destination:=.Offset(, 2) 
     End If 

    End With 

Next i 
End Sub 
+0

這是一個好主意....然而, 如果左(.Value,1)=「我」然後 這條線似乎並沒有得到很好的認識。嗯值是全部空白 – user3724482