问题描述
我想就以下代码寻求帮助。
第一个“IF”条件运行良好,但“ELSE”条件在其中我想跳过第一个条件的复制和粘贴功能并继续循环不起作用并给我一条错误消息,看起来像这:
先谢谢你!给你更多的力量!
Sub IF_Loop3()
Dim cell As Range
For Each cell In Range("TablePrac[Animals]")
If cell.Value <> "NULL" Then
cell.Offset(0,-3).Value = cell.Value
Else
If cell.Value = " " Then
Exit For
End If
Next cell
End Sub
解决方法
For Each cell In Range("TablePrac[Animals]")
If cell.Value <> "NULL" Then
cell.Offset(0,-3).Value = cell.Value
Else If cell.Value = " " Then
Exit For
End If ' If cell.Value = " "
End If 'If cell.Value <> "NULL" <= you forgot this one!
Next cell
,
基于您的解释的新代码:
Sub IF_Loop3()
Dim cell As Range
For Each cell In Range("TablePrac[Animals]")
If (cell.Value <> "NULL") and (cell.Value <> " ") Then
cell.Offset(0,-3).Value = cell.Value
End If
Next cell
End Sub
执行复制/粘贴有两个条件:value <> "NULL"
和 value <> " "
。您只需将这两个条件放入 If
测试中,即可同时满足这两个条件。
如果您编写 Exit For
,则意味着循环将中断,您的代码将继续执行循环之后的第一行,而不是循环的下一次迭代。