Ali*_*eir 3 excel vba loops if-statement excel-vba
我使用以下代码快照循环文件夹中的文件,它有一个简单的方法If来检查文件夹中是否有文件,如果没有则退出.我已经意识到它End If最终不需要正确编译.但是,我想添加一个msgbox解释为什么它已经退出并且这样做我需要End If向我的代码介绍一个.
这是为什么?
原始代码
If Len(strfilename) = 0 Then Exit Sub
Do Until strfilename = ""
'Do some stuff
strfilename = Dir()
Loop
Run Code Online (Sandbox Code Playgroud)
使用MsgBox
If Len(strfilename) = 0 Then
MsgBox ("No Files Found")
Exit Sub
Else
Do Until strfilename = ""
'Do some stuff
strfilename = Dir()
Loop
End If
Run Code Online (Sandbox Code Playgroud)
有一种形式if:
if (expr) then X
Run Code Online (Sandbox Code Playgroud)
哪里X必须在同一行,这对单个表达式很好:
if 1=1 then exit sub
Run Code Online (Sandbox Code Playgroud)
或奇怪但合法(使用:延续字符)
if 1 = 1 Then MsgBox ("No Files Found"): Exit Sub
Run Code Online (Sandbox Code Playgroud)
使用更易读的块形式更好地编写,这需要end if在if块结束时告诉编译器:
if 1 = 1 Then
MsgBox ("No Files Found")
Exit Sub
end if
Run Code Online (Sandbox Code Playgroud)