2017-10-20 33 views
0

愚蠢的问题:此代码编译不正确,我无法找到任何其他“没有For”问题的解决方案。我有一种感觉,我只是错过了一些愚蠢的东西。下面是相关的代码:接下来无For - 错误

For Each Cell In CHWAssigned 
    If Cell = "" Then 
     If Cell.Row Mod 3 = 0 Then 
      Cell.Value = "DM" 
     ElseIf Cell.Row Mod 3 = 1 Then 
      Cell.Value = "CWS" 
     ElseIf Cell.Row Mod 3 = 2 Then 
      Cell.Value = "CF" 
    Else 
    End If 
Next Cell 

我想我已经关闭了所有的if语句的,但必须有一个在那里,是开放的。感谢您花时间处理这么简单的事情。

+4

你有两个Ifs,但只有一个End If ... – SJR

+0

你还没有关闭最后一个'ElseIf',控制下降到一个'Else',它是在一个父'If'块内。 –

+0

完美,谢谢!当你评论时刚注意到它 –

回答

1

你错过了,如果你的代码现在可以工作,就结束了。您不需要在Next语句中指定Cell。您也可以使用Case而不是ElseIf

For Each Cell In CHWAssigned 
    If Cell = "" Then 
     If Cell.Row Mod 3 = 0 Then 
      Cell.Value = "DM" 
     ElseIf Cell.Row Mod 3 = 1 Then 
      Cell.Value = "CWS" 
     ElseIf Cell.Row Mod 3 = 2 Then 
      Cell.Value = "CF" 
     End If 
    End If 
Next 

希望它有帮助。