如果您经常使用 Excel 电子表格,您可能会发现自己一遍又一遍地重复相同的步骤。 单击一个按钮并让这些任务自动发生不是很好吗?
这就是 Excel 宏的用武之地。您可以使用宏自动执行重复性任务,从而节省大量时间和精力。
什么是 Excel 宏?
Excel 宏是记录的 Excel 命令和操作序列,您可以根据需要多次播放。 宏可用于自动执行 Excel 中的几乎任何任务序列,从将公司名称和地址输入电子表格这样简单的任务到创建自定义报告这样复杂的任务。 如果您可以在 Excel 中执行此操作,则可能可以使用宏将其自动化。
要使用宏,首先需要录制它。 您执行要自动化的步骤序列,Excel 会跟踪所有这些步骤并将它们保存在宏中。 录制宏后,您可以随时再次运行它。 您甚至可以为宏指定键盘快捷方式,这样您只需敲击几下键盘即可运行它。
Excel 宏基于 Microsoft 的 Visual Basic for Applications (VBA) 编程语言。 录制宏时,Excel 会在后台将您的操作转换为 VBA 代码。 因此,除了通过录制宏来创建宏之外,您还可以在 VBA 代码中手动编写它们。 在本文中,我将主要关注通过录制宏来创建宏——这是最简单快捷的方法。 之后,我将讨论如何使用 VBA 从头开始编辑或编写宏,并提供一些自学资源。
如何录制宏
为了帮助说明这个过程,我将使用一个小样本数据集。 假设我们负责获取客户姓名和余额并执行两项任务:首先将客户的姓名拆分为单独的名字和姓氏,然后突出显示余额大于零的每个人。 在这个例子中,我们有七个客户要与之合作。
要创建宏,我们将使用 Excel 窗口顶部功能区工具栏中的“开发人员”选项卡。 默认情况下不存在,因此我们需要添加它。 单击功能区最左侧的文件选项卡(在上面的屏幕截图中突出显示),然后在出现的屏幕上单击左栏底部的选项。
出现“Excel 选项”屏幕。 从左侧导航栏中选择自定义功能区。 然后,在右侧的“自定义功能区”区域中,查看“主选项卡”列表并选中开发人员复选框。 单击确定。
(在 macOS 中,单击屏幕顶部的 Excel 菜单并选择首选项 > 功能区和工具栏。在右侧的“自定义功能区”区域中,查看“主选项卡”列表并选中开发人员复选框。单击保存 .)
一旦你有了开发者选项卡,点击它,你会看到类似于下面屏幕上显示的选项。
要开始录制您的第一个宏,请单击“录制宏”按钮,您将看到以下选项。 首先,为您的宏创建一个名称,请记住您不能使用空格。 为了可读性,您可能想用 _ 或 – 之类的东西分隔单词。 然后根据需要添加快捷键或描述,但这些不是必需的。
一旦你点击确定,图标应该改变以指示宏正在记录你的操作。 重要的是,您只执行您希望宏执行的操作,从此时开始,直到您单击停止录制。
现在宏正在录制,让我们开始我们的任务。 首先,突出显示 Balance Due 列,然后右键单击并选择 Insert Column。 这将在 Customer Name 和 Balance Due 列之间添加一个新列。
接下来,我们将重命名列,将“客户姓名”替换为“名字”,并将标题“姓氏”添加到我们刚刚创建的列中。 选择第一列中的客户名称(单元格 A:2 到 A:8),选择功能区中的数据选项卡,然后选择文本到列命令。
出现一个向导,显示以下选项。 选择带分隔符并点击下一步。
接下来,选中“空格”复选框以指定由空格分隔的单词应该放在单独的列中。 点击下一步。
有关使用宏的重要说明
如果您想再次运行宏,只需单击“宏”按钮即可运行。 或者,如果您为宏分配了快捷方式,只需按下组合键即可运行它。
请注意,您不能将带有宏的电子表格另存为传统的 .xlsx 工作簿。 您必须将其另存为启用宏的 Excel 工作簿 (.xlsm) 以避免丢失您的宏。
进行更改后,任何时候您想要使用新数据集时,只需重新打开工作簿并通过转到“数据”选项卡并选择“获取数据”来导入您想要处理的数据。 您将能够从文件、数据库和其他在线服务中导入数据。
请注意,在许多情况下,默认情况下禁用宏。 这是因为,正如微软指出的那样,“VBA 宏是恶意行为者获取部署恶意软件和勒索软件的访问权限的常见方式。” 为了保护组织免受此类威胁,微软现在阻止了来自互联网的文件中的宏——有时也阻止了存储在公司共享驱动器上的文件中的宏。 您的组织可能对宏施加了额外的限制。
因此,无论何时打开其中包含宏的 Excel 工作簿(包括您自己的),您都可能会看到如下所示的警告消息。 如果您的工作簿是您创建的或来自受信任的来源,请继续并启用它。 但是,如果宏来自不受信任的来源,请不要启用它,因为它可能是恶意软件。
录制宏时要注意的另一个重要特征是相对引用的使用。 此功能使得无论数据在电子表格的何处开始,宏都能够找到它并从那里开始处理。
例如,我们创建的宏将始终从 A 列开始处理,因为未启用相对引用。 但是,如果我们执行相同的操作但首先单击“使用相对引用”,那么宏将能够检测到信息的起始位置(例如 C 列)并从该点开始处理。 如果您正在处理的数据并不总是从同一点开始,则此功能很有用。
如何使用代码编辑或创建宏
如果要查看宏背后的 VBA 代码,请转到“开发工具”选项卡,单击“宏”,选择宏,然后单击“编辑”。
您将被带到一个窗格,您可以在其中查看您创建的宏的源代码。 在下面的屏幕截图中,带下划线的项目显示了我们执行的操作,例如更改标题的名称和选择行。 您可以针对不同的用例更改这些。 例如,如果您处理的数据从范围 A1:A20 运行,您可能希望扩大范围以包括所有可能的单元格。
如果想尝试从头开始编写宏,可以使用多种在线资源来学习编写 VBA 脚本,包括 Codewars、Udemy 和 Codecademy。 返回 Excel,单击“开发人员”>“宏”>“创建”。 您将被带到一个空白窗格,您可以在其中编写 VBA 代码。