不少吧里的朋友,刚刚接触VBA时,都会遇到这样的问题,怎么在一个单元格区域中,对每一个单元格进行循环操作,下面就给出五种方法。
1、如果要在像A1:A10这样类型的单元格循环,我们可以:
Sub T1()
Dim I As Integer
For I = 1 To 10
Range("A" & I) = I
Next
End Sub
2、但如果像要在A1:AA1这样类型的单元格循环,上面的方法就比较麻烦了(注意后面的AA,是麻烦不是不可以),这时我们就可以用Cells来完成:
Sub T2()
Dim I As Integer
For I = 1 To 27
Cells(1, I) = I
Next
End Sub
3、除了用Cells外,常用的还有offset,像上面的例二,我们还可以:
Sub T3()
Dim I As Integer
For I = 1 To 27
Range("A1").Offset(0, I - 1) = I
Next
End Sub
4、如果类似于A1:B10这样的单元格区域,如果用Cells或Offset就要用两层循环,这时我们还可以用Item属性:
Sub T4()
Dim I As Integer
Dim TMP As Range
Set TMP = Range("A1:B10")
For I = 1 To TMP.Count
TMP.Item(I) = I
Next
End Sub
5、上面都用变量累加来实现循环,其实还可以利用For Each ... In语句来完成。
Sub T5()
Dim I As Integer
Dim TMP As Range
I = 0
For Each TMP In Range("A1:B10")
I = I + 1
TMP = I
Next
End Sub
而例四与例五中,循环是横向循环,要纵向循环就只好用Cells与offset加两次循环来完成了,这里就不重复了,大家可以自行试一试吧:)。
当前位置:首页 > Excel VBA教程 > 在单元格区域中循环
在单元格区域中循环
来源:Excel中文网 作者:Excelcn 发布时间:2006-03-07
上一篇:Dir函数的应用 下一篇:TextBox使用技巧
