【问题标题】:Wend without While not working (no if/else/endif present) [duplicate]Wend without While not working(没有 if/else/endif 存在)[重复]
【发布时间】:2017-08-09 04:02:52
【问题描述】:

我根本无法让 While/Wend 循环工作。即使是最小的情况,例如:

Sub TestingWhile()

Dim i As Integer

i = 0
Do While i < 10
   i = i + 1
Wend

End Sub

该代码的结果是一个错误消息窗口,显示“编译错误:Wend without While”。

我发现人们有这个错误,但这只是因为他们总是有一些错误的 if/else 语句。显然情况并非如此。怎么回事?

顺便说一句,我在 Excel 2013 中使用的是 Microsoft Visual Basic for Applications 7.1。

编辑 - 问题已解决。语法,初学者错误:Do WhileLoop关闭,WhileWend关闭

【问题讨论】:

  • @SJR: 严重的话请指点那个页面。过去一个小时左右,我一直在谷歌上寻找。 @R3uK:不,我不是想跳出循环。我只想让循环首先工作。现在代码没有运行。
  • 我用谷歌搜索了“excel while wend”,第一个结果解释了 While-Wend 循环的语法。
  • 我遵循了语法。显然,它没有任何问题。我什至引用了(在此处的另一条评论中)您正在谈论的页面可能是什么(techonthenet.com/excel/formulas/while_wend.php>)。您是否费心阅读我的问题或代码?
  • 但你还在里面留下了一个 Do 吗?
  • 好的,现在可以了。一直在我头上。不过有趣的是,您如何在第一条评论中指出这一点,或者本可以忽略这个问题或投反对票,而是选择浪费我们所有的时间,同时为其他人创造糟糕的体验。多么棒的网站来提问。

标签: vba excel


【解决方案1】:

Do WhileLoop 关闭,WhileWend 关闭:

Sub TestingWhile()

Dim i As Integer

i = 0
Do While i < 10
   i = i + 1
Loop

End Sub

【讨论】:

  • 它在使用“循环”关闭时有效,但为什么很多代码使用 While/Wend w/o 问题?例如。 stackoverflow.com/questions/9733699/…> 中的解决方案。此外,许多流行的页面仍然指向 While/Wend 作为在 VBA 中创建 While 循环的方式,例如 techonthenet.com/excel/formulas/while_wend.php>。我想使用 While/Wend 而不是 While/Loop 的原因是因为我在使用 While/Loop 并试图调试它的大代码中遇到问题,我认为 While 的编写方式是问题所在.
  • 好的,问题是“Do While”被“Loop”关闭,“While”被“Wend”关闭。初学者的错误。
  • @fightmebro :是的,对不起,我的答案应该更清楚,我已经对其进行了编辑以使其更准确! ;)
猜你喜欢
  • 1970-01-01
  • 2014-05-24
  • 2018-09-11
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
相关资源
最近更新 更多