欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]学习VBS,guotx2010能提供跳出内部循环的例子吗?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6129人关注过本帖树形打印复制链接

主题:[求助]学习VBS,guotx2010能提供跳出内部循环的例子吗?

帅哥哟,离线,有人找我吗?
伍星亮
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
[求助]学习VBS,guotx2010能提供跳出内部循环的例子吗?  发帖心情 Post By:2011/8/31 11:28:49 [只看该作者]

在写序列模型的时候需要跳出内部循环,回到大循环中。这点在金字塔语言中做不到。所以要学VBA。

 

guotx2010能借你几分钟时间帮我写个简单的例子吗?


 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/8/31 11:31:54 [只看该作者]

有时候,你并不想等到循环自己结束,可能是用户输入了错误的数据,过程遇到了错误或者可能是任务已经完成并且没有必要作更多的循环。你可以提前跳出循环,而不必等到条件正常结束。VB有两种Exit语句:

n         Exit For语句用来提前退出For…Next或者For Each…Next循环

n         Exit Do语句立即退出任何VBA Do 循环

下面的过程示范如何使用Exit For语句提前跳出For Each…Next循环:

1.       在当前模块里输入下列过程:

Sub EarlyExit()

Dim myCell As Range

 

For Each myCell in Range("A1:H10")

If myCell.Value = "" Then

myCell.Value = "empty"

Else

Exit For

End If

Next myCell

End Sub


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/8/31 12:41:48 [只看该作者]

这个是经常遇到的,其实很简单:

 

For i=1 to 100

    For j=1 to 90

         '正常的代码处理

         ...

         '判断是否要退出内层循环,如果是就使用Exit For

         If 条件成立 then

               Exit For           '如果循环体不是For而是Do While,则使用Exit Do

         End if

    Next

    '退出之后,你可以使用Application.msgout j,显示此时的j的值就知道是不是提前退出的,如果等于91说明不是提前退出,否则就是提前退出

    Application.msgout j

Next

 

[此贴子已经被作者于2011-8-31 12:42:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
伍星亮
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2011/8/31 13:14:51 [只看该作者]

万分感谢两位高人赐教。


 回到顶部