中国女星的身高:Excel宏命令的使用

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 05:36:16

Excel宏命令的使用

(2009-07-29 22:17:46) 转载标签:

杂谈

分类: Excel

Do...Loop 循环

    Do While Cells(x, 1).Value <> ""
        x = x + 1
        Loop

 

    一个Do...Loop 循环,计算数据区域内的行数,直到遇到空行才停止。

 

For Each...Next 循环

 

For Each MyCell In Selection
    If MyCell.Value Like "OK" Then
     MyCell.Font.Bold = True
    End If
Next

    借助 For Each...Next 循环,可以使“OK”一词比其他文本更黑,无论它们出现在选定区域内的什么位置。

 

在循环中利用“单元格”属性

 

 

    以数字(而非字母)形式表示的列。

    循环宏使用两种不同的方法将单元格中的数据引入其代码中。一种被称为单元格属性,另一种被称为区域属性。在 VBA 中,由于更改单元格属性所描述的值更加容易,因此使用该属性通常更为简单方便。区域属性使用工作表上的数字和字母来标识行和列,而单元格属性则对行和列都使用数字标识。对这些行号列号加 +1 便可方便地在行与行以及列与列之间移动循环宏,而在代码中则没有用来在字母之间进行移动的简便方法。

    提示    如果愿意,可以在电子表格中看到列号而不是列中的字母。方法是,在工具菜单上,单击选项,然后选择常规选项卡。选中“R1C1 引用样式”框。如果以后又想更改,那么只需清除该复选框即可。

 

使用嵌套循环删除重复行的示例

 

    此嵌套循环宏会删除两列中带有重复值的行。

    使用该宏,可以删除 D 列和 F 列中同时包含重复值的行。该宏的强大之处在于,您可以对它进行修改以使其作用于数据中其他列内的重复值。

    注意   运行该宏时要格外小心!它将从您的电子表格中删除数据。运行宏时,撤消命令不可用。已执行的操作将无法恢复。为了安全起见,请先复制数据,然后在副本上运行该宏以测试结果。

Sub LoopRange()

x = ActiveCell.Row
y = x + 1

Do While Cells(x, 4).Value <> ""
    Do While Cells(y, 4).Value <> ""
        If (Cella(x, 4).Value = Cells(y, 4).Value) And (Cella(x, 6).Value = Cells(y, 6).Value) Then
            Cells(y, 4).EntireRow.Delete
        Else
            y = y + 1
        End If
    Loop
    x = x + 1
    y x + 1
Loop
End Sub

 

    内部循环查找与起始行重复的所有行,并将其删除。外部循环在选择区域内将起始行向下移动,每次移动一行,直到选择区域内的每一行都已经与其下方的所有行进行了比较为止。