Excel VBA教程:在单元格区域中循环

使用 Visual Basic 时,经常需要对某一单元格区域内的每个单元格运行同一段语句。为达到这一目的,可组合循环语句和一个或多个方法来标识每个单元格,一次针对一个单元格,并执行该操作。

在单元格区域中循环的一种方法是将 For...Next 循环语句与 Cells属性配合使用。使用 Cells属性时,可用循环计数器(或其他变量或表达式)来替代单元格索引编号。下例中,变量counter 代替了行号。此过程将在单元格区域 C1:C20 中循环,将所有绝对值小于 0.01 的数字都设置为 0(零)。


Sub RoundToZero1()
    For Counter = 1 To 20
        Set curCell = Worksheets("Sheet1").Cells(Counter, 3)
        If Abs(curCell.Value) < 0.01 Then curCell.Value = 0
    Next Counter
End Sub

在单元格区域中循环的另一种简便方法是使用 For Each...Next 循环语句和由 Range属性指定的单元格集合。在每一次循环过程中,Visual Basic 都为下一个单元格自动设置一个对象变量。下述过程在单元格区域 A1:D10 中循环,将所有绝对值小于 0.01 的数字都设置为 0(零)。


Sub RoundToZero2()
    For Each c In Worksheets("Sheet1").Range("A1:D10").Cells
        If Abs(c.Value) < 0.01 Then c.Value = 0
    Next
End Sub

如果不知道要循环的单元格区域的边界,可用 CurrentRegion属性返回活动单元格周围的区域。例如,下述过程在工作表上运行时,将在活动单元格周围的区域内循环,将所有绝对值小于 0.01 的数字都设置为 0(零)。


Sub RoundToZero3()
    For Each c In ActiveCell.CurrentRegion.Cells
        If Abs(c.Value) < 0.01 Then c.Value = 0
    Next
End Sub

上页:Excel VBA教程:获取有关 Macintosh 关键字的帮助 下页:Excel VBA教程:如何引用单元格和区域

Excel VBA教程:在单元格区域中循环

Excel VBA教程:如何引用单元格和区域 Excel VBA教程:初始化控件属性
Excel VBA教程:打开工作簿 Excel VBA教程:QueryTable对象事件
Excel VBA教程:引用工作表上的所有单元格 Excel VBA教程:用 A1 样式记号引用单元格和单元格区域
Excel VBA教程:用编号引用单元格 Excel VBA教程:相对于其他单元格来引用单元格
Excel VBA教程:用 Range对象引用单元格 Excel VBA教程:用快捷记号引用单元格
Excel VBA教程:引用多张工作表 Excel VBA教程:引用多个单元格区域
Excel VBA教程:引用命名区域 Excel VBA教程:引用行和列
Excel VBA教程:按索引编号引用工作表 Excel VBA教程:按名称引用工作表
Excel VBA教程:返回集合中的对象 Excel VBA教程:将文档保存为 Web 页
Excel VBA教程:选定和激活单元格 Excel VBA教程:代码运行时使用控件值
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号