内容发布更新时间 : 2024/12/27 4:25:08星期一 下面是文章的全部内容请认真阅读。
Excel宏命令的使用
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 \ 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