Gor*_*gen 27 excel vba excel-vba
下面的代码是VBA for Excel.我正在使用Excel 2007附带的Visual Basic编辑器.
Dim counter As Integer
counter = 1
While counter < 20
counter = counter + 1
end while '<- the compiler is complaining about this statement
Run Code Online (Sandbox Code Playgroud)
代码无法编译.在代码之上我只有声明.根据MSDN, 这应该工作,但事实并非如此.发生了什么事?
Jea*_*ett 54
While
构造不是以a End While
而是以a 结尾Wend
.
While counter < 20
counter = counter + 1
Wend
Run Code Online (Sandbox Code Playgroud)
请注意,此信息可在文档中找到; 只需按下F1.您链接的页面处理Visual Basic .NET,而不是VBA.虽然(没有双关语)在VBA和VB.NET之间的语法上有一定程度的重叠,但是不能只假设一个文档可以直接应用于另一个.
同样在VBA帮助文件中:
提示 该
Do...Loop
语句提供了一种更加结构化和灵活的循环方式.
小智 14
VBA是不是 VB/VB.NET
正确的使用参考是Do..Loop Statement(VBA).另请参阅文章Excel VBA For,Do While和Do Until.写这个的一种方法是:
Do While counter < 20
counter = counter + 1
Loop
Run Code Online (Sandbox Code Playgroud)
(但是For..Next可能更合适.)
快乐的编码.