编程技术文章分享与教程

网站首页 > 技术文章 正文

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

hmc789 2024-11-27 14:50:41 技术文章 2 ℃

上一章给大家分享了SelectCase结构形式并且和IF结构做了比较,今天这一章给大家分享一下VBA基本语法中比较重要的结构For循环结构。

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

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

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

循环体

Exit For

Next 循环变量

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

For…….Next循环的流程控制图:

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

先举一个简单的例子:

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


代码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循环的使用)

空的数据表格:


程序的具体解释如下:


代码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


今天就给大家分享到这里,明天继续分享,喜欢的请关注我,谢谢!

标签列表
最新留言