网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBA第三讲.ppt

VBA第三讲 Ch5 循环和流程控制 主讲人:宋明 基本循环结构 For … Next Do … Loop While … Wend 注:1)For … Next能实现的循环,Do … Loop 也能实现,反之亦然。 For循环适用于有明确的循环指针,当指针不显然时Do循环表现更好,对不同的问题我们可以选择不同的循环结构。 2)While … Wend相当于Do While … Loop,是老版本的Excel中的语句,不推荐使用。 For … Next 语法 For condition Statements Next counter An Example of “For … Next” For I = 1 to 10 Cells(I, I).value = I Next I ’ 给工作表的第I行第I列赋值I ’ 循环结束后I=11 !!! Another Example 有一个Invoice工作表,找出ServiceRevenue大于0的发票,在末尾标注“Service Revenue”,并把该行染成绿色。 变量作循环指针的上/下限 例子: FinalRow = Cells(65536, 1).End(xlUp).Row For i = 2 To FinalRow If Cells(i, 6).Value 0 Then Cells(i, 8).Value = Service Revenue Cells(i, 1).Resize(, 8).Interior _ .ColorIndex = 4 End If Next i Step 和 Exit For 类似“For I = 10 to 2 … Next I”的循环通常是不会执行的,因为指针上限小于下限。这时就需要加上Step 从句。Step从句还可以控制循环的步长。 使用Exit For语句可以随时退出循环,避免多余的循环。 Examples for “Step integer” ’将工作表隔行染成绿色 FinalRow = Cells(65536, 1).End(xlUp).Row For i = 2 To FinalRow Step 2 ’ “Step 2”使得每次I递增2 ’而不是缺省值1 Cells(i, 1).Resize(, 8).Interior _ .ColorIndex = 35 Next i ’每10张发票中抽取一张作取样,拷贝到样本区 For j = 2 To FinalRow Step 10 ’步长设为10 Cells(j, 1).Resize(, 8).Copy _ Destination:=Cells(NextRow, 1) Next j ’从最后一行往上查找,删除代码为“S54”的发票 ’用“Step negative number ”反向循环 For k = FinalRow to 2 Step –1 If Cells(k, 3).value = “S54” then Cells(k, 1).EntireRow.Delete End If Next k Exit For实例 For i = 2 To FinalRow If Cells(i, 6).Value 0 Then If Cells(i, 5).Value = 0 Then Cells(i, 6).Select ProblemFound = True Exit For End If End If Next i 循环嵌套的例子 For I = 2 To FinalRow …… For J = 2 To FinalColumn …… Next J Next I Do … Loop 语法 Do [condition] Loop [condition] 当循环次数很大或者无法确定循环次数时,Do循环是个很好的选择。 为了防止无穷次循环,VBA提供了While从句和Until从句作为循环判断。 循环判断既可以位于循环前,也可以位于循环后。 与For循环类似,也可以使用“Exit Do”命令退出Do循环. Do循环实例 右图为一地址列表。 我们需要将表格做成数据库格式,姓名在B列,街道在C列,城市和州名在D列。 先用宏录制基本动作 然后添加Do … Loop语句。 While Until “Until condition” = “While Not c

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档