首頁>技術>

上一章給大家分享了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

26
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Kafka命令列工具詳解