分享

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

 风饕虐雪 2021-01-05

在实际的工作当中我们要对excel表格的数据进行大量的重复操作,这时我们就需要For Next结构形式来处理,这样就把复杂的重复问题给解决了。

先看一下For Next的语法结构?

For 循环变量=初始值 to 结束值 step 步长

循环体

Exit For

Next 循环变量

下面具体解释一下看截图:

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

方便理解我画一个For…….Next循环的流程控制图:

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

注意:该流程图中的循环变量自加1(循环变量=循环变量+1),如果你的步长不是1,那么就不是自加1,是你自己设置的步长数(循环变量=循环变量+步长)

先举一个简单的例子:

利用for……next实现excel中的单元格,隔行变色。

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

代码1:

Sub ff()

Dim i As Integer

For i = 1 To 10 Step 2

Worksheets('sheet36').Cells(i, 'B').Interior.Color = RGB(255, 0, 0)

Next

End Sub

再举个例子:

利用for……next循环结构来把这张表格答应输出到另外一张表格中,再利用循环结构求出总分并输出到表格中(实际意义不大,主要是熟悉for循环的使用)

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

空的数据表格:

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?
VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

程序的具体解释如下:

VBA基本语法之For循环结构,有什么含义,具体该怎么使用?
VBA基本语法之For循环结构,有什么含义,具体该怎么使用?

代码2:

Sub s()

Dim arr() As Variant

Dim v As Integer, n As Integer, m As Integer

Dim i As Integer, j As Integer, k As Integer, h As Integer

j = WorksheetFunction.CountA(Worksheets('sheet37').Range('A:A'))

ReDim arr(1 To j) As Variant

For h = 1 To j

For i = 1 To j

arr(i) = Worksheets('sheet37').Cells(i, h)

Next

For k = 1 To j

Worksheets('sheet38').Cells(k, h) = arr(k)

If h >= 2 Then

If Worksheets('sheet38').Cells(h, 3) >= 80 And Worksheets('sheet38').Cells(h, 4) > 70 Then

Worksheets('sheet38').Cells(h, 6).Font.Color = RGB(0, 255, 0)

End If

End If

Next

Next

For v = 1 To 7

k = 0

Worksheets('sheet38').Cells(v + 1, 6) = 0

For n = 1 To 7

If n > 2 Then

k = k + Worksheets('sheet38').Cells(v + 1, n)

End If

Next

Worksheets('sheet38').Cells(v + 1, 6) = k

Next

End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多