For Next 循环2
For <循环变量体>=<初值>To<终值> [step步长值] '步长值可省略,默认为1
<循环体>
[Exit for]
[循环体]
Next [循环变量] '结束语可省略。
'[]里的内容可以省略。
For Each 变量 In 集合名称或数组名称
语句块1
[Exit For]
[语句块2]
Next [元素变量]
声明一个arr变量,并且测量arr的长和宽。
Sub 宏1()
'声明一个数组变量arr,并为其赋值
Dim arr(1 To 3, 1 To 5, 1 To 10) As Integer
Dim g%, H%, j%, K%
For g = 1 To 3
For H = 1 To 5
For j = 1 To 10
K = K + 1
arr(g, H, j) = K
Next j
Next H
Next g
'----求arr数组的维度,并计算其元素总数
'***求第一维度的长宽
Dim a%, b%
a = UBound(arr, 1)
b = LBound(arr, 1)
'***第二维度长宽
Dim c%, d%
c = UBound(arr, 2)
d = LBound(arr, 2)
'*** 第三维度长宽
Dim e%, f%
e = UBound(arr, 3)
f = LBound(arr, 3)
MsgBox "arr数组元素有:" & (a - b + 1) * (c - d + 1) * (e - f + 1) & Chr(13) & "第一百个数组元素为:" & arr(2, 5, 10)
注:
- ubound(数组名,数组的维度),Lbound(数组名,数组的维度)
- chr(13)是回车键
- for 1 to 10 step 1,exit for ,next
Option Explicit
Sub 输入奇数()
Dim i As Byte, a As Byte
For i = 1 To 100 Step 2
a = a + 1
Range("I" & a).Value = i
Next i
End Sub
Application.Cells
Sub 输入3的倍数()
Dim i As Byte, xrow As Byte
For i = 3 To 100 Step 3
xrow = xrow + 1
Cells(xrow, "J").Value = i
Next i
End Sub
Sub 输入3的倍数2()
Dim i%, xrow%
xrow = 1
For i = 1 To 100 Step 1
If i Mod 3 = 0 Then
Cells(xrow, "H").Value = i
xrow = xrow + 1 '这各xrow变量必须放在if循环里,否则不符合的条件也会增加1,最后导致隔3行才填入1个数据。
End If
Next i
End Sub
Sub 提取工资表名称()
Dim sht As Worksheet, i As Integer '将sht声明为worksheet变量集合
i = 1
For Each sht In Worksheets 'worksheets为worksheet中集合体
Cells(i, "k").Value = sht.Name 'sht.name是worksheet变量里的集合名称
i = i + 1
Next sht
End Sub
Sub 输入100()
Dim arr(1 To 100) As Variant, i%
i = 1
For Each arr(1) In arr
arr(i) = i
Range("L" & i).Value = i
i = i + 1
Next arr
End Sub
Sub 输入100B()
Dim c As Range, i%
i = 1
For Each c In Range("M1:M100")
c.Value = i
i = i + 1
Next
End Sub