【问题标题】:VBA FORr loop, increasing the To maxValue value, doesn't workVBA FOR 循环,增加 To maxValue 值,不起作用
【发布时间】:2018-04-13 20:41:34
【问题描述】:

我的 vba 代码中有一个这样的 for 循环:

maxValues = 10
for i = 1 to maxValues
   do something...
if true then
   maxValues = maxValues + 1
next

我一步一步地走了,我从来没有超过原来的 maxValues 值,难道不能改变 maxValues 吗?在这种情况下,函数中确实需要它。

如果有人能澄清会很高兴:)

【问题讨论】:

  • 直接增加循环计数器被认为是不好的做法 - 如果您需要执行此类操作,请使用不同类型的循环。 “在功能中真的需要它以防万一”——以防万一?
  • 基本上它是用 X 值填充一个列表,所以我运行了一个 for 循环 X 次,但用户可能不想要带有
  • 你应该使用 do while 语句。
  • 好的,那我试试。谢谢!
  • 您的if 语句也不完整,(它要么需要End If,要么将ifthen 放在同一行。)

标签: vba excel for-loop


【解决方案1】:

一旦设置,VBA 不会更新 For 值,因此必须使用 While 语句。

类似:

 maxValues = 10
 i = 1    
 do while i <= maxValues
     if true then 
         maxValues = maxValues + 1
     end if
     i = i + 1
 loop

感谢您的回复。

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    相关资源
    最近更新 更多