个性化阅读
专注于IT技术分析

VBA for循环

点击下载

本文概述

For循环是一种重复控制结构, 允许开发人员以逻辑方式编写一个需要执行特定次数的循环。

流程图

VBA for循环

下面是for循环中的一些控制流, 如下所示:

  • 首先, 执行for循环。这使你可以初始化任何循环控制变量并递增步数计数器变量。
  • 其次, 评估循环条件。如果为True, 则执行循环主体。如果它为假, 则该主体将不执行。控制流跳至For循环后的下一条语句。
  • 然后for循环的主体将执行, 控制流跳至下一条语句。此语句允许你更新任何循环控制变量。它根据步数计数器值进行更新。
  • 现在, 条件将重新评估。如果为true, 则执行循环, 并重复整个过程。如果条件为假, 则for循环将终止。

句法

For循环执行一段代码特定次数。

For counter_variable = start_value To end_value
........
........
[Block of code]
.........
.........
Next conter_varaiable

Sub forNext ()
Dim i As Integer 
Dim iTotal As Integer 
iTotal = 0
For i = 1 to 10
      iTotal = I + iTotal
Next i
MsgBox iTotal
End Sub

说明

  • 计数器变量是i, 需要声明。
  • 计数器的Start_value为1, 其End_value为10, 均为数值。
  • 关键字“ Step”是可选的, 它是一个数字值, 每次运行循环时, 计数器都会以此值递增。
  • 下一条语句是将计数器增加步长值, 然后返回for语句, 如果计数器值未超过“ End_value” 10, 则该语句将重复代码。
  • 如果计数器等于End_value, 则循环将继续, 或者仅在End_value超过时才停止循环。

嵌套用于下一个循环

你还可以使用嵌套的for循环在excel中完成更复杂的自动化。 “下一个”循环中将有一个“下一个”循环。

例如:假设你要保护系统中所有打开的工作簿中的所有工作表。

Sub ProtectWorksheets ()
Dim i As Integer
Dim j As Integer
For i = 1 to Workbooks.Count
For j = 1 to Workbooks(i).Worksheets.Count
Workbooks(i).Worksheets(j).Protect
Next j
Next i
End Sub

退出声明

通过使用语句的出口, 可以退出for循环语句而无需完成整个周期。 Exit for命令将立即停止现有循环的执行。

流程图

VBA for循环

例如, 这是检查是否存在任何负值的更有效方法。但是在这种情况下, 没有负值, 我们可以退出循环并节省一些VBA处理时间。

Sub HighlightNegativeCells()
Dim All As Range
For Each All In Selection
If WorksheetFunction.Min(Selection) >= 0 Then Exit For
If All.Value < 0 Then
All.Interior.Color = vbRed
End If
Next All
End Sub

赞(0)
未经允许不得转载:srcmini » VBA for循环

相关推荐

评论 抢沙发

评论前必须登录!