天天看点

Excel宏基本概念编辑宏循环结构

基本概念

  • 宏:用于实现特定效果的代码段,拥有自己的名称
  • VBA:即 Visual Basic for Applications,是宏的代码语言
  • 模块:用于存储宏的容器,附加在工作簿中

编辑宏

有两种方式获取一个宏:1、使用Visual Basic编辑器编写一个宏;或2、使用宏录制功能录制一个宏。

使用Visual Basic编辑器编辑宏

在excel编辑器的“工具”菜单上,指向“宏”,然后单击“Visual Basic 编辑器”,可以打开VB编辑器,用于编写宏。在VB编辑器中,可以调试运行宏。

首先,我们需要在Visual Basic 编辑器添加一个模块,用做存储我们的宏的容器。在空白的模块编辑窗口中可以添加我们的宏。一个宏以Sub关键词开始,以End Sub关键词结束,之间是可执行的代码行。例如下面是一个简单宏:

Sub myMacro()
    MsgBox "hello world"
End Sub
           

录制宏

在“工具”菜单上,指向“宏”并选择“录制新宏”。录制完新宏后,可在“Visual Basic 编辑器”中查看宏代码的运行情况。方法是,在“工具”菜单上,指向“宏”,然后选择“宏”,找到您所录制的宏。选中它并单击“编辑”以查看代码。

循环结构

Do...Loop 循环

在Do关键词后使用 While 条件或Until 条件来指定Do...Loop 循环的终止条件。参看下面的代码示例:

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

For Each...Next 循环

使用 For Each...Next 循环可对某一数据区域内的每个单元格执行操作。

代码示例:

Sub MyMacro()
    For Each MyCell In Selection
        If MyCell.Value Like "中国" Then
            MyCell.Font.Bold = True
        End If
    Next
End Sub
           

再循环中引用单元格的两种方式

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

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

继续阅读