【发布时间】:2016-06-01 09:39:05
【问题描述】:
所以我在 Excel vba 中写了一个 UDF:
function ...
if ... then ... else
for i... to ...
equations
...
next i
*
end function
现在我注意到,该函数似乎工作得很好,但是我想知道我是否不应该在代码中 (*) 的位置使用“end if”?如果我这样做了,我会收到一条错误消息,说明没有与该“end if”块对应的 IF,但是!?所以总的来说,在 if then else 结构中是否需要“end if”?提前致谢!
/edit: 'if ... then ... else' 是一个单行。但是 else 块确实包含多行,尤其是一个循环...
【问题讨论】:
-
如果你的 If 是一个单行(如果,然后,Else 在一行),你不需要 End If
-
复制实际代码,以便我们更好地查看。您可以执行 1 行 if 语句。如果它在单行上,则不需要 end if - 但 for 循环不是 if 的一部分。简而言之,for 循环会以任何一种方式运行。如果是多行,则需要结束if。
-
所有这些都在 VBA 帮助中有完整的描述。你读过吗?
标签: excel vba if-statement udf