了解如何使用Excel宏来自动完成繁琐的任务

Excel功能更强大但很少使用的功能之一是能够非常轻松地在宏中创建自动化任务和自定义逻辑的功能。宏提供了一种理想的方式,可以节省时间以进行可预测的重复性任务以及标准化文档格式-多次无需编写任何代码即可。

如果您对宏是什么或如何真正创建宏感到好奇,那么没问题–我们将引导您完成整个过程。

笔记:在大多数版本的Microsoft Office中,该过程均应起作用。屏幕截图可能略有不同。

什么是宏?

Microsoft Office宏(此功能适用于多个MS Office应用程序)只是保存在文档中的Visual Basic for Applications(VBA)代码。与之类似,可以将文档视为HTML,将宏视为Javascript。就像Javascript可以操纵网页上的HTML一样,宏可以操纵文档。

宏功能非常强大,几乎可以完成您的想象力所能想到的任何事情。作为(非常)简短的函数列表,您可以使用宏:

  • 应用样式和格式。
  • 处理数据和文本。
  • 与数据源(数据库,文本文件等)进行通信。
  • 创建全新的文档。
  • 任何上述内容的任何组合,以任何顺序。

创建宏:举例说明

我们从您的花园品种CSV文件开始。这里没什么特别的,只有一个10×20的数字集(介于0和100之间),带有行标题和列标题。我们的目标是制作一个格式合理,易于展示的数据表,其中包括每一行的汇总总数。

如上所述,宏是VBA代码,但是Excel的优点之一就是您可以使用零编码来创建/记录它们,就像我们在这里所做的那样。

要创建宏,请转到查看>宏>记录宏。

为宏分配一个名称(无空格),然后单击“确定”。

完成后, 全部 记录了您的操作-每次单元格更改,滚动操作,窗口大小调整,都可以命名。

有两个地方表明Excel是记录模式。一种是通过查看“宏”菜单,并注意“停止录制”已替换了“录制宏”选项。

另一个在右下角。 “停止”图标表示它处于宏模式,按此处将停止录制(同样,当不在录制模式时,该图标将是“录制宏”按钮,您可以使用它代替进入“宏”菜单)。

现在我们正在记录宏,让我们应用摘要计算。首先添加标题。

接下来,分别应用适当的公式:

  • = SUM(B2:K2)
  • =平均(B2:K2)
  • = MIN(B2:K2)
  • =最大(B2:K2)
  • = MEDIAN(B2:K2)

现在,突出显示所有计算单元并拖动所有数据行的长度以将计算应用于每行。

完成此操作后,每一行应显示其各自的摘要。

现在,我们要获取整个工作表的摘要数据,因此我们应用了一些其他计算:

分别:

  • = SUM(L2:L21)
  • =平均(B2:K21)*必须对所有数据进行计算,因为行平均值的平均值不一定等于所有值的平均值。
  • = MIN(N2:N21)
  • =最大(O2:O21)
  • = MEDIAN(B2:K21) *由于与上述相同的原因,对所有数据进行了计算。

现在计算已经完成,我们将应用样式和格式。首先,通过执行全选(Ctrl + A或单击行标题和列标题之间的单元格),在所有单元格上应用通用数字格式,然后选择主菜单下的“逗号样式”图标。

接下来,对行标题和列标题都应用一些视觉格式:

  • 大胆的。
  • 居中。
  • 背景填充颜色。

最后,对总计应用某种样式。

完成所有操作后,数据表将如下所示:

由于我们对结果感到满意,因此请停止录制宏。

祝贺您-您刚刚创建了一个Excel宏。

为了使用我们新记录的宏,我们必须将Excel工作簿保存为启用宏的文件格式。但是,在执行此操作之前,我们首先需要清除所有现有数据,以免将其嵌入到模板中(想法是每次使用此模板时,我们都会导入最新数据)。

为此,选择所有单元格并将其删除。

现在清除了数据(但是宏仍包含在Excel文件中),我们希望将文件另存为启用宏的模板(XLTM)文件。请务必注意,如果将其另存为标准模板(XLTX)文件,则宏将 不是 能够从中运行。或者,您可以将文件另存为旧版模板(XLT)文件,这将允许运行宏。

将文件另存为模板后,继续并关闭Excel。

使用Excel宏

在介绍如何应用这个新记录的宏之前,重要的是,一般地讲一些有关宏的要点:

  • 宏可能是恶意的。
  • 参见上面的要点。

VBA代码实际上非常强大,并且可以处理当前文档范围之外的文件。例如,宏可以更改或删除“我的文档”文件夹中的随机文件。因此,重要的是要确保您 只要 从受信任的源运行宏。

要使用我们的数据格式宏,请打开上面创建的Excel模板文件。执行此操作时,假设您已启用标准安全设置,则工作簿顶部将显示一条警告,指出已禁用宏。由于我们信任自己创建的宏,因此请点击“启用内容”按钮。

接下来,我们将从CSV导入最新数据集(这是工作表用于创建宏的源)。

要完成CSV文件的导入,您可能必须设置一些选项才能使Excel正确解释(例如,分隔符,标头等)。

导入数据后,只需转到“宏”菜单(在“视图”选项卡下),然后选择“查看宏”。

在出现的对话框中,我们看到上面记录的“ FormatData”宏。选择它,然后单击运行。

一旦运行,您可能会看到光标跳了片刻,但是这样做确实会看到您正在操纵的数据 确切地 正如我们记录下来的那样。说完一切后,它应该看起来像我们的原始照片,只是带有不同的数据。

深入了解:什么使宏起作用

如前所述,宏是由Visual Basic for Applications(VBA)代码驱动的。当您“记录”一个宏时,Excel实际上会将您所做的一切转换为相应的VBA指令。简而言之,您不必编写任何代码,因为Excel正在为您编写代码。

要查看使我们的宏运行的代码,请在“宏”对话框中单击“编辑”按钮。

打开的窗口显示了在创建宏时从我们的操作记录的源代码。当然,您可以编辑此代码,甚至可以完全在代码窗口内创建新的宏。尽管本文中使用的记录操作可能会满足大多数需求,但是更高度自定义的操作或条件操作将需要您编辑源代码。

让我们的榜样更进一步……

假设,假设我们的源数据文件data.csv是由自动过程生成的,该过程始终将文件保存到同一位置(例如C:\ Data \ data.csv始终是最新数据)。打开此文件并将其导入的过程也可以轻松地制成宏:

  1. 打开包含我们的“ FormatData”宏的Excel模板文件。
  2. 记录一个名为“ LoadData”的新宏。
  3. 通过宏录制,可以像通常一样导入数据文件。
  4. 导入数据后,停止记录宏。
  5. 删除所有单元格数据(选择所有然后删除)。
  6. 保存更新的模板(请记住使用启用了宏的模板格式)。

完成此操作后,无论何时打开模板,都会有两个宏-一个宏用于加载我们的数据,另一个宏用于格式化数据。

如果您确实想通过一些代码编辑来解决问题,则可以通过复制“ LoadData”生成的代码并将其插入“ FormatData”的代码开头,轻松地将这些操作组合到单个宏中。

下载此模板

为了方便起见,我们同时提供了本文中生成的Excel模板以及供您使用的示例数据文件。

从How-To Geek下载Excel宏模板


$config[zx-auto] not found$config[zx-overlay] not found