Excel 宏 – 快速指南

Excel 宏 – 快速指南


Excel 宏 – 概述

Excel 宏是一个或一组操作,您可以根据需要随时记录、命名、保存和运行任意多次。创建宏时,您正在记录鼠标点击和击键。当您运行保存的宏时,记录的鼠标点击和击键将按照与记录相同的顺序执行。

宏可帮助您节省涉及需要经常执行的数据操作和数据报告的重复性任务的时间。

宏和 VBA

您可以使用 Excel 命令或从 Excel VBA 录制和运行宏。

VBA 代表 Visual Basic for Applications,是一种简单的编程语言,可通过 Excel Visual Basic 编辑器 (VBE) 使用,该编辑器可从功能区上的“开发人员”选项卡获得。录制宏时,Excel 会生成 VBA 代码。如果你只是想录制一个宏并运行它,没有必要学习Excel VBA。但是,如果要修改宏,则只能通过在 Excel VBA 编辑器中修改 VBA 代码来完成。

您将在“创建简单宏”一章中学习如何录制一个简单的宏并使用 Excel 命令运行它。您将在后面的章节中了解有关宏以及从 Excel VBA 编辑器创建和/或修改宏的更多信息。

个人宏工作簿

宏可以保存在您录制它的同一工作簿中。在这种情况下,您只能从该工作簿运行宏,因此您应该将其保持打开状态。Excel 为您提供了另一种存储所有宏的方法。它是个人宏工作簿,您可以在其中保存宏,从而可以从任何工作簿运行这些宏。

您将在章节 – 将所有宏保存在单个工作簿中了解个人宏工作簿。

宏观安全

宏将作为 VBA 代码存储在 Excel 中。与任何其他代码的情况一样,宏代码也容易受到打开工作簿时可能运行的恶意代码的影响。这是对您的计算机的威胁。Microsoft 提供了宏安全工具,可帮助您保护计算机免受此类宏病毒的侵害。

您将在“宏安全”一章中了解更多相关信息。

绝对引用和相对引用

录制宏时,您可以对单击的单元格使用绝对引用或相对引用。绝对引用使您的宏在您录制宏的相同单元格中运行。另一方面,相对引用使您的宏在活动单元格中运行。

您将在章节中了解这些 – 对宏使用绝对引用和对宏使用相对引用。

VBA中的宏代码

即使您不了解 Excel VBA,也可以从 Excel 录制和运行宏。但是,如果您必须修改录制的宏或通过编写 VBA 代码创建宏,则应学习 Excel VBA。为此,您可以参考本教程库中的 Excel VBA 教程

但是,您应该知道如何查看宏代码。您可以在 Excel VBA 一章中了解如何在 Excel 中访问 VBA 编辑器以及 VBA 编辑器的不同部分。

您可以学习如何在 Excel VBA 编辑器中查看宏代码,您可以在“理解宏代码”一章中了解宏代码。

为对象分配宏

您可以将宏分配给对象,例如形状、图形或控件。然后,您可以通过单击该对象来运行宏。您将在章节 – 将宏分配给对象中了解这一点。

运行宏

Excel 提供了几种运行宏的方法。您可以选择运行宏的方式。您将在“运行宏”一章中了解这些不同的运行宏的可能方式。

使用 VBA 编辑器创建宏

如果您决定编写宏代码,您可以在章节 – 使用 VBA 编辑器创建宏中学习。但是,前提是您应该具有 Excel VBA 知识。

编辑宏

您可以在 Excel VBA 编辑器中修改宏代码。如果要进行大量更改,则应具备 Excel VBA 知识。但是,如果您只想对代码进行较小的更改,或者您想将 VBA 代码从录制的宏复制到另一个宏,则可以参考章节 – 编辑宏。

您可以重命名宏甚至删除它。您还将在同一章中了解这一点。

用户表单

表格通常用于收集所需的信息。这将是不言自明的,使任务变得简单。从 Excel VBA 编辑器创建的 Excel 用户窗体服务于相同的目的,提供熟悉的选项,如文本框、复选框、单选按钮、列表框、组合框、滚动条等作为控件。

您将在“用户表单”一章中学习如何创建用户表单以及如何使用不同的控件。

调试宏代码

有时,宏可能不会按预期运行。您可能已经创建了宏,或者您可能正在使用某人提供给您的宏。您可以像调试任何其他代码一样调试宏代码以发现缺陷并纠正它们。您将在“调试宏代码”一章中了解这一点。

配置宏以在打开工作簿时运行

您可以在打开工作簿时自动运行宏。您可以通过创建 Auto_Run 宏或为工作簿打开事件编写 VBA 代码来执行此操作。您将在“配置宏以在打开工作簿时运行”一章中了解这一点。

Excel 宏 – 创建

您可以通过记录击键和鼠标单击、为宏命名并指定如何存储宏来使用 Excel 命令创建宏。这样记录的宏可以用 Excel 命令运行。

假设您必须以以下格式重复收集某些结果 –

格式

您可以使用一个宏来代替每次创建表格。

录制宏

要录制宏,请执行以下操作 –

  • 单击功能区上的“查看”选项卡。
  • 单击宏组中的宏。
  • 从下拉列表中选择录制宏。

记录

录制宏对话框。

  • 在宏名称框中键入MyFirstMacro

  • 在描述框中键入一个简单的宏,然后单击确定。

录制宏

请记住,您所做的任何击键和鼠标点击都会被记录下来。

  • 单击单元格 B2。

  • 创建表。

  • 单击工作表中的不同单元格。

  • 单击功能区上的“查看”选项卡。

  • 单击宏。

  • 从下拉列表中选择停止录制

停止录音

您的宏录制已完成。

单击特定单元格的第一步很重要,因为它会告诉宏必须从何处开始放置记录的步骤。完成录制后,您必须单击停止录制以避免录制不必要的步骤。

运行宏

您可以随意运行已录制的宏。要运行宏,请执行以下操作 –

  • 单击新工作表。

注意活动单元格。在我们的例子中,它是 A1。

  • 单击功能区上的查看”选项卡。

  • 单击

  • 从下拉列表中选择查看宏

看法

出现宏对话框。

宏对话框

只有您录制的宏会出现在“宏”列表中。

  • 在“宏”对话框中单击宏名称 – MyFirstMacro。将显示您在录制宏时键入的描述。宏描述允许您确定录制宏的目的。

  • 单击运行按钮。您在录制宏时创建的同一个表将在一瞬间出现。

宏列表

您已经发现 Excel 为您提供的神奇魔杖,可以在日常任务上节省时间。您将观察到以下内容 –

  • 尽管运行宏之前的活动单元格是 A1,但该表格已按照您的记录放置在单元格 B2 中。

  • 此外,活动单元格变为 E2,因为您在停止录制之前单击了该单元格。

在运行宏之前,您可以在具有不同活动单元格的多个工作表中运行宏,并观察上面给出的相同条件。只需记下这一点,您将在本教程的后面部分了解为什么会发生这种情况。

您还可以进行宏录制,将录制的步骤放在活动单元格中。在本教程中,您将学习如何执行此操作。

存储宏

您可能想知道如何保存创建的宏。在这种情况下,您需要知道 –

  • 存储宏
  • 保存启用宏的文件

当您创建宏时,您可以选择存储该特定宏的位置。您可以在“录制宏”对话框中执行此操作

单击框 – 将宏存储在. 以下三个选项可用 –

  • 本练习册。
  • 新工作簿。
  • 个人宏工作簿

存储宏

本工作簿

这是默认选项。宏将存储在您创建宏的当前工作簿中。

新工作簿

此选项虽然可用,但不建议使用。您将要求 Excel 将宏存储在不同的新工作簿中,而且大多数情况下没有必要。

个人宏工作簿

如果您创建了多个跨工作簿使用的宏,则个人宏工作簿为您提供了将所有宏存储在一个位置的工具。您将在下一章中了解有关此选项的更多信息。

保存启用宏的文件

如果您选择此工作簿作为存储宏的选项,则需要将工作簿与宏一起保存。

尝试保存工作簿。默认情况下,您会要求 Excel 将工作簿保存为 .xls 文件。Excel 显示一条消息,指出无法将 Excel 功能 VB 项目保存在无宏工作簿中,如下所示。

本工作簿

注意– 如果您单击是,Excel 会将您的工作簿保存为无宏的 .xls 文件,并且您使用此工作簿选项存储的宏将不会被保存。为避免这种情况,Excel 为您提供了一个选项,可将您的工作簿另存为具有 .xlsm 扩展名的启用宏的工作簿。

  • 在警告消息框中单击否。
  • 在保存类型中选择 Excel 启用宏的工作簿 (*.xlsm)。
  • 单击保存。

保存存档

您将在本教程的后续章节中了解有关这些的更多信息。

Excel 宏 – 单个工作簿中的宏

Excel 为您提供了将所有宏存储在单个工作簿中的工具。该工作簿称为个人宏工作簿 – Personal.xlsb。它是存储在计算机上的隐藏工作簿,每次打开 Excel 时都会打开。这使您可以从任何工作簿运行宏。每台计算机将有一个个人宏工作簿,您不能跨计算机共享它。您可以从计算机上的任何工作簿查看和运行个人宏工作簿中的宏。

在个人宏工作簿中保存宏

您可以通过在录制宏时选择它作为存储选项将宏保存在个人宏工作簿中。

从在 中存储宏类别下的下拉列表中选择个人宏工作簿

个人宏

  • 录制您的第二个宏。
  • 在“记录宏”对话框中提供宏详细信息,如下所示。
  • 单击确定。

第二个宏

您的录音开始。创建一个表,如下所示。

录音开始

  • 停止录音。

  • 单击功能区上的“查看”选项卡。

  • 单击宏。

  • 从下拉列表中选择查看宏出现宏对话框。

查看宏

宏名称带有前缀 PERSONAL.XLSB!表示宏在个人宏工作簿中。

保存您的工作簿。它将被保存为 .xls 文件,因为宏不在您的工作簿中并关闭 Excel。

您将收到以下有关将更改保存到个人宏工作簿的消息 –

保存

单击保存按钮。您的宏保存在计算机上Personal.xlsb文件中。

隐藏/取消隐藏个人宏工作簿

默认情况下,个人宏工作簿将被隐藏。当您启动 Excel 时,个人宏工作簿已加载,但您看不到它,因为它是隐藏的。您可以按如下方式取消隐藏它 –

  • 单击功能区上的查看”选项卡。

  • 单击窗口组中的取消隐藏。

查看标签

出现取消隐藏对话框。

取消隐藏

PERSONAL.XLSB 出现在取消隐藏工作簿框中,然后单击确定。

个人 XLSB

现在您可以查看保存在个人宏工作簿中的宏。

要隐藏个人宏工作簿,请执行以下操作 –

  • 单击个人宏工作簿。
  • 单击功能区上的“查看”选项卡。
  • 单击功能区上的隐藏。

运行保存在个人宏工作簿中的宏

您可以从任何工作簿运行保存在个人宏工作簿中的宏。要运行宏,个人宏工作簿是隐藏还是未隐藏没有任何区别。

  • 单击查看宏。
  • 从宏列表中选择宏名称。
  • 单击运行按钮。宏将运行。

在个人宏工作簿中添加/删除宏

您可以在个人宏工作簿中添加更多宏,方法是在录制宏时选择将宏存储在选项中,如您之前所见。

您可以按如下方式删除个人宏工作簿中的宏 –

  • 确保个人宏工作簿未隐藏。
  • 单击“查看宏”对话框中的宏名称。
  • 单击删除按钮。

如果个人宏工作簿被隐藏,您将收到一条消息“无法编辑隐藏工作簿上的宏”。

隐藏的工作簿

取消隐藏个人宏工作簿并删除选定的宏。

该宏将不会出现在宏列表中。但是,当您创建新宏并将其保存在个人工作簿中或删除其中包含的任何宏时,系统会提示您保存个人工作簿,就像您第一次保存时一样。

Excel 宏 – 安全性

您在 Excel 中创建的宏将使用编程语言 VBA(Visual Basic for Applications)编写。您将在后面的章节中了解 Excel 宏代码。如您所知,当存在可执行代码时,就会存在病毒威胁。宏也容易受到病毒的影响。

什么是宏病毒?

写入宏的 Excel VBA 可以访问大多数 Windows 系统调用,并在打开工作簿时自动执行。因此,存在编写为宏并隐藏在 Excel 中并在打开工作簿时执行的病毒的潜在威胁。因此,Excel 宏在很多方面对您的计算机都是非常危险的。但是,Microsoft 已采取适当措施来保护工作簿免受宏病毒的侵害。

Microsoft 引入了宏安全性,以便您可以确定哪些宏可以信任,哪些不能信任。

启用宏的 Excel 工作簿

最重要的 Excel 宏安全功能是 – 文件扩展名。

默认情况下,Excel 工作簿将以 .xlsx 文件扩展名保存。您始终可以信任文件扩展名为 .xlsx 的工作簿,因为它们无法存储宏并且不会带来任何威胁。

带有宏的 Excel 工作簿以 .xlsm 文件扩展名保存。它们被称为启用宏的 Excel 工作簿。在打开此类工作簿之前,应确保它们包含的宏不是恶意的。为此,您必须确保可以信任此类工作簿的来源。

信任启用宏的工作簿的方法

Excel 提供了三种信任启用宏的工作簿的方法。

  • 将启用宏的工作簿放在受信任的文件夹中

  • 检查宏是否经过数字签名

  • 在打开启用宏的工作簿之前启用安全警报消息

将启用宏的工作簿放在受信任的文件夹中

这是管理宏安全的最简单和最好的方法。Excel 允许您将文件夹指定为受信任位置。将所有启用宏的工作簿放在该受信任文件夹中。您可以在没有警告或限制的情况下打开保存到此位置的启用宏的工作簿。

检查宏是否经过数字签名

数字签名确认作者的身份。您可以将 Excel 配置为在没有警告或限制的情况下运行来自受信任人员的数字签名宏。如果自作者签名后已更改,Excel 也会警告收件人。

在打开启用宏的工作簿之前启用安全警报消息

当您打开工作簿时,Excel 会警告您该工作簿包含宏并询问您是否希望启用它们。如果工作簿的来源可靠,您可以单击启用内容按钮。

安全

您可以在信任中心的 Excel 选项中设置这三个选项中的任何一个。

如果您在组织中工作,系统管理员可能已更改默认设置以防止任何人更改设置。Microsoft 建议您不要更改信任中心中的安全设置,因为其后果可能是您的计算机或网络上的数据丢失、数据被盗或安全受损。

但是,您可以在以下部分了解宏安全设置并检查它们是否要更改。您必须使用自己的直觉根据上下文和您对文件来源的了解来决定这些选项中的任何一个。

信任中心中的宏安全设置

宏设置位于 Excel 选项中的信任中心。要访问信任中心,请执行以下操作 –

  • 单击功能区上的“文件”选项卡。

  • 单击选项。出现 Excel 选项对话框。

  • 单击左侧窗格中的信任中心

  • 单击Microsoft Excel 信任中心下信任中心设置按钮。

宏设置

信任中心对话框。

信托中心

您将在左侧窗格的 Excel 信任中心看到各种可用选项。您将在以下部分中了解与 Excel 宏相关的选项。

宏设置

宏设置位于信任中心。

宏设置

在宏设置下,有四个选项可用。

  • Disable all macros without notice – 如果选择此选项,宏和有关宏的安全警报将被禁用。

  • 使用通知禁用所有宏– 宏被禁用,但如果存在宏,则会出现安全警报。您可以根据具体情况启用宏。

  • 禁用除数字签名宏之外的所有宏– 宏被禁用,但如果存在宏,则会出现安全警报。但是,如果宏由受信任的发布者进行数字签名,则在您信任发布者的情况下宏会运行。如果您不信任发布者,则会通知您启用已签名的宏并信任发布者。

  • 启用所有宏(不推荐,易受宏病毒影响) – 如果选择此选项,则运行所有宏。此设置使您的计算机容易受到潜在恶意代码的攻击。

您在开发人员宏设置下有一个带有复选框的附加安全选项。

  • 信任对 VBA 项目对象模型的访问。

    • 此选项允许从自动化客户端以编程方式访问 Visual Basic for Applications (VBA) 对象模型。

    • 此安全选项适用于为自动化 Office 程序和操作 VBA 环境和对象模型而编写的代码。

    • 它是每个用户和每个应用程序的设置,默认情况下拒绝访问,阻止未经授权的程序构建有害的自我复制代码。

    • 要让自动化客户端访问 VBA 对象模型,运行代码的用户必须授予访问权限。要打开访问,请选中该复选框。

定义可信位置

如果您认为启用宏的工作簿来自可靠来源,最好将文件移动到 Excel 标识的受信任位置,而不是将默认信任中心设置更改为不太安全的宏安全设置。

您可以在信任中心找到受信任的文件夹设置。

单击“信任中心”对话框中的“受信任位置”。Microsoft Office 设置的受信任位置出现在右侧。

可信位置

您可以添加新位置、删除现有位置和修改现有位置。Microsoft Office 将确定的受信任位置视为打开文件的可靠位置。但是,如果您添加或修改位置,请确保该位置是安全的。

您还可以找到 office 不推荐的选项,例如 Internet 上的位置。

来自可靠来源的数字签名宏

Microsoft 提供了一个选项来容纳数字签名的宏。但是,即使宏经过数字签名,您也需要确保它来自受信任的发布者。

您将在信任中心找到受信任的发布者。

  • 在“信任中心”对话框中单击受信任的发布者证书列表显示在右侧,其中包含详细信息 – 颁发给、颁发日期和到期日期。

  • 选择证书并单击查看。

值得信赖的出版商

显示证书信息。

正如您在本章前面所学到的,您可以设置一个选项来运行只有在您信任发布者的情况下才经过数字签名的宏。如果您不信任发布者,则会通知您启用已签名的宏并信任发布者。

使用警告信息

当您打开的文件中有宏时,消息栏会显示安全警报。带有盾牌图标的黄色消息栏会提醒您宏已禁用。

警告信息

如果您知道宏的来源可靠,您可以单击消息栏上的启用内容按钮来启用宏。

如果您不想要安全警报,您可以禁用消息栏选项。另一方面,您可以启用消息栏选项以提高安全性。

在消息栏上启用/禁用安全警报

您可以使用消息栏启用/禁用安全警报,如下所示 –

  • 单击功能区上的“文件”选项卡。
  • 单击选项。出现 Excel 选项对话框。
  • 单击信任中心。
  • 单击信任中心设置按钮。
  • 单击消息栏。

出现所有 Office 应用程序的消息栏设置。

留言栏

在 –显示消息栏下有两个选项

选项 1 – 当宏等活动内容被阻止时,在所有应用程序中显示消息栏。

  • 这是默认选项。当可能不安全的内容被禁用时,消息栏会出现。

  • 如果您已选择 –在信任中心的宏设置中禁用所有宏而不通知,则不会选择此选项并且不会出现消息栏。

显示消息

选项 2 – 从不显示有关被阻止内容的信息。

如果选择此选项,它将禁用消息栏并且不会出现有关安全问题的警报,无论信任中心中的任何安全设置如何。

被封锁

Excel 宏 – 绝对引用

Excel 宏可以使用绝对引用或相对引用来记录。使用绝对引用记录的宏会将记录的步骤准确地放置在记录它的单元格中,而不管活动单元格如何。另一方面,使用相对引用记录的宏可以在工作表的不同部分执行记录的任务。

您将在本章中了解宏的绝对引用。您将在下一章中了解相关引用。

假设您必须在每天结束时以以下格式提交一份关于您团队工作的报告 –

绝对参考

现在,报告应该放在单元格 B2 中,并且应该是给定的格式。

填写报告的样本如下所示 –

样本

除了以下单元格中的数据,您为项目生成的每个报告的信息都是不变的。

  • C3 – 日期报告。
  • C13 – 今天完成的任务数量。
  • C14 – 已完成的任务总数。
  • C15 – 工作完成百分比。

其中,在 C3(日期报告)中,您可以放置​​ Excel 函数 = TODAY (),该函数无需您干预即可放置报告的日期此外,在单元格 C15 中,您可以使用公式 C14/C12 并将单元格 C15 格式化为百分比,以便 Excel 为您计算工作完成百分比。

这让您只剩下两个单元格——C13 和 C14,需要您每天填写。因此,每次必须创建报告时,最好都有剩余单元格的信息。这为您节省了时间,您可以在几分钟内完成普通的报告活动。

现在,假设您必须为三个项目发送此类报告。您可以想象您可以节省多少时间并承担当天更具挑战性的工作,当然还可以获得管理层的赞誉。

您可以通过为每个项目记录一个宏并每天运行它们来在几分钟内生成所需的报告来实现这一点。但是,每次运行宏时,无论活动单元格如何,报告都应出现在上面给出的工作表上。为此,您必须使用绝对引用。

确保绝对引用

要使用绝对引用记录宏,您必须确保从步骤必须开始的单元格开始记录宏。这意味着,对于上一节中给出的示例,您需要执行以下操作 –

  • 开始录制宏。
  • 创建一个新的工作表。
  • 单击新工作表中除 B2 以外的任何单元格。
  • 单击单元格 B2。
  • 继续录制宏。

这将为每个新报告创建一个新工作表,并在每次运行宏时获取放置在单元格 B2 中的报告格式。

注意– 上面给出的前三个步骤是必不可少的。

  • 如果您不创建新工作表,当您运行宏时,它会将您在同一工作表上记录的任何内容放在同一位置。这不是你想要的。您需要将每个报告放在不同的工作表上。

  • 如果您在录制开始时没有单击不同的单元格,即使活动单元格是 B2,Excel 也会将录制的步骤放在活动单元格中。当您运行宏时,它将根据活动单元格将记录的报告格式放置在工作表的任何部分。通过显式单击 B2 以外的单元格,然后单击单元格 B2,您告诉记录器始终将宏步骤放在单元格 B2 中。

录制宏

您可以使用“视图”选项卡→“宏”下功能区上的录制宏”命令开始录制宏。您还可以单击Excel 任务栏左侧的“开始录制宏”按钮。

录制宏

  • 开始录制宏。录制宏对话框。

  • 给出一个有意义的名称以将宏标识为特定项目的报告。

  • Store macro in下选择此工作簿,因为您将仅从此特定工作簿生成报告。

  • 为您的宏提供说明,然后单击“确定”。

描述

您的宏开始录制。

  • 创建一个新的工作表。这可确保您的新报告位于新工作表上。

  • 单击新工作表中除 B2 以外的任何单元格。

  • 单击单元格 B2。这可确保宏始终将您记录的步骤放在 B2 中。

  • 创建报告格式。

  • 填写项目报告的静态信息。

  • 将 = TODAY () 放在 C3 中,将 = C14/C12 放在单元格 C15 中。

  • 用日期格式化单元格。

停止录制宏。

停止记录

您可以使用“视图”选项卡→“宏”下功能区上的停止录制”命令或单击 Excel 任务栏左侧的“停止录制宏”按钮来停止录制宏。

任务栏

您的项目报告宏已准备就绪。将工作簿另存为启用宏的工作簿(扩展名为 .xlsm)。

运行宏

只需运行宏,您就可以在几秒钟内生成任意数量的报告。

  • 单击功能区上的查看按钮。
  • 单击宏。
  • 从下拉列表中选择查看宏。出现宏对话框。
  • 单击宏 Report_ProjectXYZ。
  • 单击运行按钮。

将在您的工作簿中创建一个新工作表,并在其中的单元格 B2 中创建报告模具。

Excel 宏 – 相对引用

相对引用宏记录了活动单元格的偏移量。如果您必须在工作表的不同位置重复这些步骤,此类宏将非常有用。

假设您需要分析从 280 个选区收集的选民数据。对于每个选区,收集以下详细信息 –

  • 选区名称。
  • 选区的总人口。
  • 选区的选民人数。
  • 男性选民人数,以及
  • 女性选民的数量。

数据在工作表中提供给您,如下所示。

相对引用

无法分析上述格式的数据。因此,将数据排列在一个表中,如下所示。

桌子

如果您尝试以上述格式排列给定的数据 –

  • 整理 280 个选区的数据需要大量时间

  • 它可能容易出错

  • 它变成了一项平凡的任务,不允许您专注于技术问题

解决办法是录制一个宏,这样你就可以在不超过几秒钟的时间内完成任务。宏需要使用相对引用,因为您将在排列数据时向下移动行。

使用相对引用

为了让宏记录器知道它必须使用相对引用,请执行以下操作 –

  • 单击功能区上的查看”选项卡。

  • 单击

  • 单击使用相对引用

相对参考

准备数据格式

排列上述给定数据的第一步是在带有标题的表中定义数据格式。

创建标题行,如下所示。

准备

录制宏

记录宏如下 –

  • 单击录制宏。

  • 为宏指定一个有意义的名称,例如 DataArrange。

  • 在单元格 B4 中键入 = row ()- 3这是因为 S. No. 是当前行号——它上面的 3 行。

  • 剪切单元格 B5、B6、B7、B8 和 B9,并将其分别粘贴到单元格 C4 到 C8 中。

  • 现在单击单元格 B5。您的表格如下所示。

宏录制

第一个数据集排列在表的第一行。删除行 B6 – B11 并单击单元格 B5。

第一个数据集

您可以看到活动单元格是 B5,下一个数据集将放置在这里。

停止录制宏。用于排列数据的宏已准备就绪。

运行宏

您需要重复运行宏来完成下表中的数据排列,如下所示。

活动单元格是 B5。运行宏。第二个数据集将排列在表格的第二行,活动单元格将是 B6。

宏运行

再次运行宏。第三个数据集将排列在表格的第三行,活动单元格将变为 B7。

运行宏

每次运行宏时,活动单元格都会前进到下一行,便于在适当位置重复记录的步骤。由于宏中的相对引用,这是可能的。

运行宏,直到所有 280 个数据集都排列成表中的 280 行。此过程需要几秒钟,并且由于这些步骤是自动化的,因此整个练习没有错误。

Excel 宏 – VBA

Excel 将宏存储为 Excel VBA (Visual Basic for Applications) 代码。录制宏后,您可以查看生成的代码、修改它、复制其中的一部分等。如果您熟悉 VBA 编程,您甚至可以自己编写宏代码。

您将在“使用 VBA 编辑器创建宏”一章中学习如何通过编写 VBA 代码来创建宏。您将在“编辑宏”一章中学习如何通过编辑 VBA 代码来修改宏。您将在本章中学习 Excel VBA 功能。

功能区上的开发人员选项卡

您可以从功能区上的“开发人员”选项卡访问 VBA 中的宏代码。

开发商

如果在功能区上没有找到“开发人员”选项卡,则需要按如下方式添加它 –

  • 右键单击功能区。

  • 从下拉列表中选择自定义功能区

自定义功能区

Excel选项对话框。

  • 自定义功能区下拉列表中选择主选项卡

  • 选中“主选项卡”列表中的“开发人员”框并单击“确定”。出现开发人员选项卡。

Excel 选项

宏的开发人员命令

您需要了解开发人员选项卡下的宏命令。

单击功能区上的开发人员选项卡。代码组中提供以下命令 –

  • 视觉基础
  • 录制宏
  • 使用相对引用
  • 宏观安全

控件

Visual Basic 命令用于在 Excel 中打开 VBA 编辑器,Macros 命令用于查看、运行和删除宏。

您已经在前面的章节中学习了 VBA 编辑器以外的命令。

VBA 编辑器

VBA 编辑器或 VBE 是 Excel 中 VBA 的开发人员平台。

打开工作簿 – MyFirstMacro.xlsm,您在本教程前面的章节 – 创建简单宏中保存。

您可以通过以下两种方式中的任何一种打开 VBE –

选项 1 – 单击功能区上“开发人员”选项卡下“代码”组中的 Visual Basic。

VBA 编辑器

选项 2 – 单击“查看”选项卡→“宏”→“查看宏”时出现的“宏”对话框中的“编辑”

查看宏

VBE 出现在新窗口中。

VBE

启用 Excel 宏的工作簿名称的名称带有前缀 – Microsoft Visual Basic for Applications。

您将在 VBE 中找到以下内容 –

  • 项目资源管理器。
  • 特性。
  • 带有代码的模块窗口。

项目浏览器

项目资源管理器是您找到 VBA 项目名称的地方。在项目下,您将找到工作表名称和模块名称。单击模块名称时,窗口右侧会出现相应的代码。

属性窗口

属性是 VBA 对象的参数。当您拥有诸如命令按钮之类的对象时,其属性将出现在“属性”窗口中。

带有代码的模块窗口

宏的代码将存储在 VBA 的模块中。当您选择一个宏并单击编辑时,宏的代码将出现在相应的模块窗口中。

Excel 宏 – 理解代码

录制宏时,Excel 会将其存储为 VBA 代码。您可以在 VBA 编辑器中查看此代码。如果您对 Excel VBA 有丰富的了解,则可以理解代码并对其进行修改。您可以参考本教程库中的 Excel VBA 教程来掌握该语言。

但是,您仍然可以在 Excel VBA 编辑器中查看宏代码并将其与您在宏中记录的步骤相匹配。您将学习如何查看和理解您在本教程中创建的第一个宏 – MyFirstMacro 的代码。

在 VBA 编辑器中查看宏代码

要查看宏代码,请执行以下操作 –

  • 打开存储宏的工作簿。
  • 单击功能区上的“查看”选项卡。
  • 单击宏。
  • 从下拉列表中选择查看宏。

查看

出现宏对话框。

  • 单击宏列表中的 MyFirstMacro。
  • 单击编辑按钮。

编辑

VBA 编辑器打开并显示宏 MyFirstMacro 的代码。

宏

将记录的操作理解为代码的一部分

您可以浏览宏代码并将它们映射到您记录的步骤。

  • 开始阅读代码。
  • 将代码映射到记录的步骤。

理解

向下滚动代码以查看更多代码。或者,您可以放大代码窗口。

放大代码

观察代码很简单。如果您学习 Excel VBA,则可以通过在 VBA 编辑器中编写代码来创建宏。

您将在章节 – 使用 VBA 编辑器创建宏中学习如何编写 VBA 代码来创建宏。

Excel 宏 – 为对象分配宏

假设您创建了一个需要多次执行的宏。例如,您为绝对引用和相对引用创建的宏。然后,如果您可以使用鼠标单击运行宏,那对您来说就很容易了。您可以通过将宏分配给诸如形状、图形或控件之类的对象来实现此目的。

在本章中,您将学习如何在工作簿中包含一个对象并为其分配一个宏。

回想一下您使用相对引用创建的宏。宏将一列给出的数据整理成表格,方便数据分析。

记起

将宏分配给形状

您可以在工作表中插入一个具有不言自明文本的有意义形式的形状,单击该形状时会运行分配给它的宏。

  • 单击功能区上的插入选项卡。

  • 单击插图组中的形状

  • 选择出现在下拉列表中的任何现成形状。例如,流程图形状 – 准备,因为您正在准备数据。

分配

绘制形状并格式化。

绘制形状

  • 右键单击该形状并从下拉列表中选择“编辑文本”。

  • 在形状内键入文本 – 运行宏。

  • 格式化文本。

编辑文本

  • 右键单击形状。
  • 从下拉列表中选择分配宏。

分配宏

出现分配宏对话框。单击宏名称,即RelativeMacro,然后单击确定。

宏名称

宏被分配给形状。

  • 单击您必须运行宏的单元格,例如 B4。

  • 将光标(指针)移动到形状上。光标(指针)变为手指。

光标

现在单击形状。宏将运行。只需重复单击鼠标多次运行宏,您就可以在几秒钟内完成将数据排列到表格中的任务。

将宏分配给图形

您可以在工作表中插入图形并为其分配宏。可以选择图形来可视化您的宏。例如,您可以有一个表格图形,表示宏会将数据排列到表格中。

  • 单击功能区上的插入选项卡。
  • 单击插图组中的图片。
  • 选择包含图形的文件。

形象的

其余步骤与上一节中给出的形状相同。

将宏分配给控件

插入 VBA 控件并为其分配宏使您的工作看起来很专业。您可以从功能区上的“开发工具”选项卡插入 VBA 控件。

  • 单击功能区上的开发人员选项卡。

  • 单击控件组中的插入

插

从下拉列表中选择表单控件下的按钮图标,如下面的屏幕截图所示 –

表单控件

  • 单击工作表上要插入 Button 控件的单元格。出现分配宏对话框。

  • 单击宏名称,然后单击确定。

按钮控制

带有指定宏的控制按钮将被插入。

控制按钮

  • 右键单击按钮。
  • 单击编辑文本。
  • 类型 – 运行宏。
  • 格式化文本并调整大小按钮。

键入运行宏

只需重复单击按钮,您就可以多次运行宏。

使用表单控件是与用户交互的一种简单有效的方式。您将在“与用户交互”一章中了解更多相关信息。

Excel 宏 – 运行宏

有多种方法可以在工作簿中执行宏。宏将保存在启用宏的工作簿或个人宏工作簿中,您可以从任何工作簿中访问,如您之前所学。

您可以通过以下方式运行宏 –

  • 从视图选项卡运行宏
  • 按 Ctrl 加快捷键运行宏
  • 通过单击快速访问工具栏上的按钮运行宏
  • 通过单击功能区上自定义组中的按钮运行宏
  • 通过单击图形对象运行宏
  • 从开发人员选项卡运行宏
  • 从 VBA 编辑器运行宏

从视图选项卡运行宏

您已经学习了从功能区上的“视图”选项卡运行宏。快速回顾 –

  • 单击功能区上的“查看”选项卡。
  • 单击宏。
  • 从下拉列表中选择查看宏。

活动细胞

出现宏对话框。

  • 单击宏名称。
  • 单击运行按钮。

对话框

使用快捷键运行宏

您可以为宏指定快捷键(Ctrl + 键)。您可以在“创建宏”对话框中录制宏时执行此操作否则,您可以稍后在“宏选项”对话框中添加它

录制宏时添加快捷键

  • 单击视图选项卡。
  • 单击宏。
  • 从下拉列表中选择录制宏。

出现创建宏对话框。

  • 输入宏名称
  • 在快捷键下 Ctrl + 旁边的框中键入一个字母,例如 q。

添加

在宏选项中添加快捷键

  • 单击视图选项卡。
  • 单击宏。
  • 从下拉列表中选择查看宏。

出现宏对话框。

  • 选择宏名称。
  • 单击选项按钮。

快捷键

出现宏选项对话框。在快捷键下 Ctrl + 旁边的框中键入一个字母,例如 q。单击确定。

输入字母

要使用快捷键运行宏,请同时按下 Ctrl 键和 q 键。宏将运行。

注意– 您可以使用任何小写或大写字母作为宏的快捷键。如果您使用任何作为 Excel 快捷键的 Ctrl + 字母组合,您将覆盖它。示例包括 Ctrl+C、Ctrl+V、Ctrl+X 等。因此,在选择字母时使用您的权限。

通过快速访问工具栏运行宏

您可以将宏按钮添加到快速访问工具栏并通过单击它来运行宏。当您将宏存储在个人宏工作簿中时,此选项会很有用。添加的按钮将出现在您打开的任何工作簿中的快速访问工具栏上,从而使您可以轻松运行宏。

假设您的个人宏工作簿中有一个名为 MyMacro 的宏。

要将宏按钮添加到快速访问工具栏,请执行以下操作 –

  • 右键单击快速访问工具栏。

  • 从下拉列表中选择自定义快速访问工具栏

快速访问

出现 Excel 选项对话框。从类别下的下拉列表中选择宏 – 从 中选择命令

命令

宏列表显示在宏下。

  • 单击 PERSONAL.XLSB!MyMacro。
  • 单击添加按钮。

列表

宏名称显示在右侧,带有宏按钮图像。

要更改宏按钮图像,请按以下步骤操作 –

  • 单击右侧框中的宏名称。
  • 单击修改按钮。

调整

修改按钮出现对话框。选择一个符号将其设置为按钮的图标。

图标

将指针放在快速访问工具栏上的按钮图像上时出现的显示名称修改为有意义的名称,例如,在本示例中为 Run MyMacro。单击确定。

我的宏

右侧窗格中的宏名称和图标符号发生变化。单击确定。

象征

宏按钮出现在快速访问工具栏上,当您将指针放在按钮上时会出现宏显示名称。

指针

要运行宏,只需单击快速访问工具栏上的宏按钮。

在自定义组中运行宏

您可以在功能区上添加自定义组和自定义按钮,并将宏分配给按钮。

  • 右键单击功能区。
  • 从下拉列表中选择自定义功能区。

自定义组

Excel选项对话框。

  • 选择自定义功能区下的主选项卡。
  • 单击新建选项卡。

Excel选项

新选项卡(自定义)出现在主选项卡列表中。

  • 单击新建选项卡(自定义)。
  • 单击新建组按钮。

新组(自定义)出现在新选项卡(自定义)下。

  • 单击新建选项卡(自定义)。
  • 单击重命名按钮。

风俗

出现重命名对话框。键入出现在功能区主选项卡中的自定​​义选项卡的名称,例如 – 我的宏,然后单击确定。

改名

注意– 功能区上的所有主要选项卡都是大写字母。您可以自行决定使用大写或小写字母。我选择了单词大写的小写字母,以便它在标准选项卡中脱颖而出。

新选项卡名称更改为我的宏(自定义)。

  • 单击新建组(自定义)。
  • 单击重命名按钮。

新组

重命名对话框出现对话框。在“显示名称”对话框中键入组名称,然后单击“确定”。

显示名称

新组名称更改为个人宏(自定义)。

单击左窗格中以下选择命令下的宏

来自的命令

  • 从宏列表中选择您的宏名称,例如 – MyFirstMacro。
  • 单击添加按钮。

宏列表

宏将添加到个人宏(自定义)组下。

个人宏

  • 单击列表中的我的宏(自定义)。
  • 单击箭头可向上或向下移动选项卡。

箭头

选项卡在主选项卡列表中的位置决定了它在功能区上的放置位置。单击确定。

位置

您的自定义选项卡 – 我的宏出现在功能区上。

单击选项卡 – 我的宏。个人宏组出现在功能区上。MyFirstMacro 出现在个人宏组中。要运行宏,只需单击个人宏组中的 MyFirstMacro。

单击选项卡

通过单击对象运行宏

您可以在工作表中插入形状、图形或 VBA 控件等对象,并为其分配宏。要运行宏,只需单击对象。

有关使用对象运行宏的详细信息,请参阅章节 – 为对象分配宏。

从开发人员选项卡运行宏

您可以从“开发人员”选项卡运行宏。

  • 单击功能区上的开发工具选项卡。
  • 单击宏。

开发者标签

出现宏对话框。单击宏名称,然后单击运行。

点击运行

从 VBA 编辑器运行宏

您可以从 VBA 编辑器中运行宏,如下所示 –

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

用户表单

使用 VBA 编辑器创建宏

您可以通过在 VBA 编辑器中编写代码来创建宏。在本章中,您将学习在何处以及如何编写宏代码。

VBA 对象和模块

在开始为宏编码之前,请了解 VBA 对象和模块。

  • 使用您的第一个宏打开启用宏的工作簿。
  • 单击功能区上的开发人员选项卡。
  • 单击代码组中的 Visual Basic。

对象

VBA 编辑器窗口打开。

窗口打开

您将在“项目资源管理器”窗口中观察以下内容 –

  • 启用宏的工作簿 – MyFirstMacro.xlsm 显示为 VBA 项目。

  • 所有工作表和工作簿都显示为项目下的 Microsoft Excel 对象。

  • Module1 出现在 Modules 下。您的宏代码位于此处。

  • 单击模块 1。

  • 单击功能区上的“视图”选项卡。

  • 从下拉列表中选择代码。

代码

出现您的宏代码。

宏代码

通过编码创建宏

接下来,在同一个工作簿中创建第二个宏——这次是通过编写 VBA 代码。

您可以分两步执行此操作 –

  • 插入命令按钮。

  • 编写代码,说明单击命令按钮时要执行的操作。

插入命令按钮

  • 创建一个新的工作表。

  • 在新工作表中单击。

  • 单击功能区上的开发人员按钮。

  • 单击控件组中的插入。

  • Form Controls 中选择按钮图标

插入命令

  • 在工作表中单击要放置命令按钮的位置。
  • 出现分配宏对话框。

Button1_Click

出现 Visual Basic 编辑器。

视觉基础

您将观察到以下内容 –

  • 一个新模块——Module2 被插入到项目浏览器中。
  • 出现标题为 Module2 (Code) 的代码窗口。
  • 在 Module2 代码中插入了一个子过程 Button1_Click()。

编写宏

您的编码是由 VBA 编辑器本身完成的。

例如,输入 MsgBox “Best Wishes to You!” 在子程序Button1_Click()中。单击命令按钮时,将显示带有给定字符串的消息框。

留言箱

就是这样!您的宏代码已准备好运行。如您所知,VBA 代码不需要编译,因为它与解释器一起运行。

从 VBA 编辑器运行宏

您可以从 VBA 编辑器本身测试您的宏代码。

  • 单击功能区上的运行选项卡。

  • 从下拉列表中选择运行子/用户窗体。带有您键入的字符串的消息框出现在您的工作表中。

来自 VBA 的宏

可以看到按钮被选中。在消息框中单击“确定”。您将被带回 VBA 编辑器。

从工作表运行宏

您可以从工作表中多次运行您编码的宏。

  • 单击工作表上的某处。
  • 单击按钮。消息框出现在工作表上。

工作表中的宏

您已经通过编写 VBA 代码创建了一个宏。如您所见,VBA 编码很简单。

Excel 宏 – 编辑

您已经在上一章中学习了如何在 VBA 编辑器中编写宏代码。您可以编辑宏代码、重命名宏和删除宏。

如果您精通 Excel VBA,那么为宏编写代码或修改代码是一项微不足道的任务。您可以根据需要编辑宏代码。如果您只想对宏代码进行一些简单的更改,您甚至可以将宏代码从一处复制到另一处。

复制宏代码

您已在启用宏的工作簿 MyFirstMacro.xlsm 中创建了两个宏 – MyFirstMacro 和 Button1_Click。您已经通过记录步骤创建了第一个宏,并通过编写代码创建了第二个宏。您可以将代码从第一个宏复制到第二个宏中。

  • 打开工作簿 MyFirstMacro.xlsm。

  • 单击功能区上的开发工具选项卡。

  • 单击 Visual Basic。Visual Basic 编辑器打开。

  • 打开 Module1(MyFirstMacro 宏代码)和 Module2(Button1_Click() 宏代码)的代码。

  • 单击功能区上的窗口选项卡。

  • 从下拉列表中选择水平平铺。

您可以在平铺窗口中查看两个宏的代码。

复印

  • 复制 Module2 代码中的 MsgBox 行。

  • 将其粘贴到该行上方。

  • 将字符串修改为 –

    MsgBox “世界你好!”

  • 从 Module1 复制以下代码。

复制代码

将其粘贴到 Module2 代码中的两个 MsgBox 代码行之间。

消息框

  • 单击“保存”图标以保存代码。

  • 单击 Excel 工作表中的按钮。出现一个带有消息的消息框 – Hello World!单击确定。

你好,世界

出现表格数据(根据您复制的代码)并且出现带有消息的消息框 – Best Wishes to You!

表格数据

您只需几步即可修改代码。这是初学者最简单的任务。

重命名宏

假设您要从具有命令按钮的工作表以外的任何工作表运行编辑的宏。您可以通过重命名宏来执行此操作,而无需考虑单击按钮。

  • 单击功能区上的“查看”选项卡。
  • 单击宏。
  • 从下拉列表中选择查看宏。

出现宏对话框。

  • 单击宏名称 – Button1_Click。
  • 单击编辑按钮。

重命名宏

宏代码出现在 VBA 编辑器中。

将出现在 Sub 行中的名称从 Button1_Click 更改为 RenamedMacro。保留 Sub 和括号原样。

重命名宏

打开宏对话框。重命名时会显示宏名称。

打开宏

  • 单击重命名宏。
  • 单击运行按钮。宏运行。现在不需要单击按钮了。

删除宏

您可以删除已录制或编码的宏。

  • 打开宏对话框。
  • 单击宏名称。
  • 单击删除按钮。

删除宏

删除会出现确认信息。

删除确认

如果您确定要删除宏,请单击否则,单击否。

Excel 宏 – 用户窗体

有时,您可能需要反复从他人那里收集信息。Excel VBA 为您提供了一种处理此任务的简单方法 – UserForm与您填写的任何其他表格一样,UserForm 使您可以轻松理解要提供的信息。UserForm 是用户友好的,其提供的控件是不言自明的,并在必要时附有附加说明。

UserForm 的主要优点是您可以节省花费在填写信息的内容和方式上的时间。

创建用户表单

要创建用户窗体,请按以下步骤操作 –

  • 单击功能区上的开发人员选项卡。
  • 单击 Visual Basic。工作簿的 Visual Basic 窗口打开。
  • 点击插入,
  • 从下拉列表中选择用户窗体。

创建用户表单

用户窗体出现在窗口的右侧。

出现用户窗体

理解用户表单

最大化 UserForm.xlsx – UserForm1 窗口。

您现在处于设计模式。您可以在用户窗体上插入控件并为相应的操作编写代码。控件在工具箱中可用。UserForm 的属性位于“属性”窗口中。UserForm1(UserForm 的标题)在 Projects Explorer 的 Forms 下给出。

理解用户表单

  • 在属性窗口中将 UserForm 的标题更改为 Project Report – Daily。
  • 将用户窗体的名称更改为 ProjectReport。

项目报告

更改反映在用户窗体、属性和项目浏览器中。

工具箱中的控件

用户窗体将具有不同的组件。当您单击任何组件时,您将获得有关信息提供内容和方式的说明,或者您将获得可供选择的选项(选择)。所有这些都是通过用户窗体工具箱中的 ActiveX 控件提供的。

Excel 提供两种类型的控件——表单控件和 ActiveX 控件。您需要了解这两种控件之间的区别。

表单控件

表单控件是与早期版本的 Excel 兼容的 Excel 原始控件,从 Excel 5.0 版开始。表单控件也设计用于 XLM 宏表。

您可以使用表单控件运行宏。您可以将现有宏分配给控件,或者编写或录制新宏。单击控件时,宏。您已经学习了如何从工作表中的表单控件插入命令按钮以运行宏。但是,这些控件不能添加到用户窗体。

ActiveX 控件

ActiveX 控件可用于 VBA 用户窗体。ActiveX 控件具有广泛的属性,可用于自定义其外观、行为、字体和其他特征。

您在用户窗体工具箱中有以下 ActiveX 控件 –

  • 指针
  • 标签
  • 文本框
  • 组合框
  • 列表框
  • 复选框
  • 选项按钮
  • 框架
  • 切换按钮
  • 命令按钮
  • 标签条
  • 多页
  • 滚动条
  • 旋转按钮
  • 图像

除了这些控件之外,Visual Basic 还为您提供了 MsgBox 函数,可用于显示消息和/或提示用户执行操作。

在接下来的几节中,您将了解这些控件和 MsgBox。然后,您将能够选择设计用户窗体所需的这些控件中的哪一个。

标签

您可以通过显示描述性文本(例如标题、说明和/或简要说明)来使用标签进行识别。

例子

标签

文本框

您可以使用作为矩形框的 TextBox 来键入、查看或编辑文本。您还可以将 TextBox 用作显示只读信息的静态文本字段。

例子

文本框

列表框

您可以使用列表框来显示一个或多个文本项的列表,用户可以从中进行选择。使用列表框显示数量或内容不同的大量选项。

  • 在用户窗体上插入一个列表框。
  • 单击列表框。
  • 在列表框的属性窗口中为 Name 键入 ProjectCodes。

有三种类型的列表框 –

  • 单选列表框– 单选列表框只能选择一个。在这种情况下,列表框类似于一组选项按钮,不同之处在于列表框可以更有效地处理大量项目。

  • 多选列表框– 多选列表框启用一个选择或连续(相邻)选择。

  • 扩展选择列表框– 扩展选择列表框支持一个选择、连续选择和非连续(或不连续)选择。

您可以从“属性”窗口中选择这些类型的列表框之一。

列表框

  • 右键单击用户窗体。
  • 从下拉列表中选择查看代码。用户窗体的代码窗口打开。
  • 单击代码窗口右上角框中的初始化。
  • 在 Private Sub UserForm_Initialize() 下键入以下内容。
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

初始化

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

选择运行

接下来,您可以为在列表中选择项目的操作编写代码。否则,您可以只显示选定的文本,这是在报告中填写项目代码的情况。

组合框

您可以使用将文本框与列表框组合在一起的ComboBox来创建下拉列表框。组合框比列表框更紧凑,但需要用户单击向下箭头以显示项目列表。使用组合框从列表中仅选择一项。

  • 在用户窗体上插入一个组合框。
  • 单击组合框。
  • 在 ComboBox 的属性窗口中为 Name 键入 ProjectCodes2。

组合框

  • 右键单击用户窗体。
  • 从下拉列表中选择查看代码。
  • 用户窗体的代码窗口打开。

键入以下内容,如下所示。

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

代码窗口

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

运行标签

单击向下箭头以显示项目列表。

单击向下箭头

单击所需的项目,例如 Project2016-5。所选选项将显示在组合框中。

必填项目

复选框

您可以使用复选框来选择通过单击复选框显示的一个或多个选项。选项将带有标签,您可以清楚地看到选择了哪些选项。

一个复选框可以有两种状态 –

  • 选中(打开),用方框中的勾号表示
  • 已清除(关闭),由清除框​​表示

您可以使用复选框来选择组合框中的选项以节省空间。在这种情况下,复选框也可以具有第三种状态 –

  • 混合,表示开和关状态的组合,由框中的黑点表示。这将显示为在带有复选框的组合框中指示多项选择。

  • 在用户窗体中插入复选框,如下所示。

复选框

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。
  • 单击所选选项的框。

盒子

选项按钮

您可以使用选项按钮(也称为单选按钮)在一组有限的互斥选项中做出一个选择。选项按钮通常包含在组框或框架中。

选项按钮由一个小圆圈表示。选项按钮可以具有以下两种状态之一 –

  • 选中(打开),用圆圈中的一个点表示
  • 清除(关闭),由空白表示

框架

您可以使用框架控件(也称为分组框)将相关控件分组为一个可视单元。通常,选项按钮、复选框或密切相关的内容组合在一个框架控件中。

框架控件由带有可选标签的矩形对象表示。

  • 插入一个标题为“选择”的框架。

  • 在框架控件中插入两个标题为“是”和“否”的选项按钮。Yes 和 No 选项是互斥的。

框架

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。
  • 单击您选择的选项。

选择的选项

切换按钮

您可以使用切换按钮来指示状态(例如是或否)或模式(例如开或关)。单击该按钮时,它会在启用和禁用状态之间交替。

在用户窗体上插入一个切换按钮,如下所示 –

切换按钮

  • 单击功能区上的运行选项卡。

  • 从下拉列表中选择运行子/用户窗体。默认情况下,切换按钮将处于启用状态。

默认

单击切换按钮。切换按钮将被禁用。

切换按钮

如果再次单击切换按钮,它将被启用。

命令按钮

您可以使用命令按钮运行宏,当用户单击它时执行某些操作。您已经学习了如何使用工作表上的命令按钮来运行宏。

命令按钮也称为按钮。在用户窗体上插入一个命令按钮,如下所示 –

命令按钮

  • 右键单击命令按钮。
  • 在子 Commandbutton1_click () 中键入以下代码。
ProjectCodes2.DropDown 

命令按钮 1

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

每日报告

单击命令按钮。组合框的下拉列表打开,因为它是您在代码中编写的操作。

组合框

标签条

您可以在用户窗体上插入类似于 Excel 选项卡的选项卡条。

滚动条

您可以使用滚动条通过单击滚动箭头或拖动滚动框来滚动一系列值。

通过在需要的位置绘制滚动条并调整滚动条的长度,在用户窗体上插入滚动条。

滚动条

  • 右键单击滚动条。
  • 从下拉列表中选择查看代码。代码窗口打开。
  • 在 sub ScrollBar1_Scroll() 下添加以下行。
TextBox2.Text = "Scrolling Values" 

滚动值

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

滚动条报告

拖动滚动框。文本 – 滚动值将显示在文本框中,因为您将其指定为滚动条滚动的操作。

文本框

消息框 ()

您可以使用 MsgBox() 函数在单击某物时显示消息。它可以是指南或一些信息,也可以是警告或错误警报。

例如,您可以在开始滚动滚动框时显示正在滚动值的消息。

消息框函数

消息框图标显示

您可以使用描述特定消息的消息框图标显示。您有多个消息框图标来满足您的目的 –

  • 在 ScrollBar1_scroll 下键入以下代码。
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result" 
  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。
  • 拖动滚动框。

您将依次收到以下消息框。

消息框

设计用户表单

现在,您已经了解了可以在用户窗体上使用的不同控件。选择控件,根据需要对它们进行分组,并按照某种有意义的顺序在用户窗体上排列它们。将所需操作编写为对应于各个控件的代码。

有关 UserForm 的示例,请参阅本教程库中的 VBA 教程。

Excel 宏 – 调试代码

您已经了解到宏在 Excel 中存储为 VBA 代码。您还了解到您可以直接编写代码在 VBA 编辑器中创建宏。但是,与任何代码的情况一样,即使是宏代码也可能存在缺陷,并且宏可能无法按预期运行。

这需要检查代码以发现缺陷并纠正它们。在软件开发中用于此活动的术语是调试。

VBA 调试

VBA 编辑器允许您暂停代码的执行并执行任何所需的调试任务。以下是您可以执行的一些调试任务。

  • 单步执行代码
  • 使用断点
  • 在代码中备份或前进
  • 不单步执行每一行代码
  • 单步执行代码时查询任何内容
  • 停止执行

这些只是您可能在 VBA 调试环境中执行的一些任务。

单步执行代码

调试时您必须做的第一件事是在执行代码时单步执行。如果您知道代码的哪一部分可能产生了缺陷,您可以跳到代码的那一行。否则,您可以逐行执行代码,在代码中备份或前进。

您可以从工作簿中的宏对话框或 VBA 编辑器本身进入代码。

从工作簿进入代码

要从工作簿进入代码,请执行以下操作 –

  • 单击功能区上的“查看”选项卡。
  • 单击宏。
  • 从下拉列表中选择查看宏。

出现宏对话框。

  • 单击宏名称。
  • 单击进入按钮。

踏入

VBA 编辑器打开,宏代码出现在代码窗口中。宏代码中的第一行将以黄色突出显示。

宏代码

从 VBA 编辑器进入代码

要从 VBA 编辑器进入代码,请执行以下操作 –

  • 单击功能区上的开发人员选项卡。
  • 单击 Visual Basic。VBA 编辑器打开。
  • 单击包含宏代码的模块。

宏代码出现在代码窗口中。

踏步

  • 单击功能区上的调试选项卡。

  • 从下拉列表中选择步入

落下

宏代码中的第一行将突出显示。代码处于调试模式,调试下拉列表中的选项将变为活动状态。

积极的

在代码中备份或前进

您可以通过选择 Step Over 或 Step Out 在代码中向前或向后移动。

不单步执行每一行代码

如果您确定需要讨论的潜在代码部分,则可以通过选择 Run to Cursor 来避免单步执行每一行代码。

使用断点

或者,您可以在特定代码行设置断点并执行代码,观察每个断点处的结果。如果需要,您可以切换断点并清除所有断点。

使用手表

您可以在调试时添加监视,以评估表达式并在变量达到特定值时停止执行。这意味着您配置了一个监视表达式,它将被监视直到它为真,然后宏将停止并让您处于中断模式。VBA 为您提供了多种手表类型可供选择,以实现您的需求。

停止执行

在调试过程中,在任何时候,如果您发现出了什么问题的线索,您可以停止执行以进一步破译。

如果您是一位经验丰富的开发人员,那么您熟悉调试术语,VBA 编辑器调试选项让您的生活变得简单。即便如此,如果你学过 VBA 并理解代码,掌握这项技能也不会花费太多时间。

Excel 宏 – 配置宏

您可以录制一个宏并将其保存为名称 Auto_Open,以便在您打开包含此宏的工作簿时运行它。

您还可以使用工作簿的 Open 事件编写用于相同目的的 VBA 代码。每次打开工作簿时,Open 事件都会运行子过程 Workbook_Open() 中的代码。

录制 Auto_Open 宏

您可以按如下方式录制 Auto_Run 宏 –

  • 单击功能区上的“查看”选项卡。
  • 单击宏。
  • 单击录制宏。出现录制宏对话框。
  • 键入 Auto_Run 作为宏名称。
  • 键入说明并单击确定。

自动打开

  • 开始录制宏。
  • 停止录制。
  • 将工作簿另存为启用宏的工作簿。
  • 关闭工作簿。
  • 打开工作簿。宏 Auto_Run 将自动运行。

如果您希望 Excel 在不运行 Auto_Open 宏的情况下启动,请在启动 Excel 时按住 SHIFT 键。

Auto_Open 宏的限制

以下是 Auto_Open 宏的限制 –

  • 如果保存 Auto_Open 宏的工作簿包含工作簿 Open 事件的代码,则 Open 事件的代码将覆盖 Auto_Open 宏中的操作。

  • 通过运行使用 Open 方法的代码打开工作簿时,将忽略 Auto_Open 宏。

  • Auto_Open 宏在任何其他工作簿打开之前运行。因此,如果您记录希望 Excel 在默认 Book1 工作簿或从 XLStart 文件夹加载的工作簿上执行的操作,则在重新启动 Excel 时 Auto_Open 宏将失败,因为该宏在默认工作簿和启动工作簿打开之前运行.

如果遇到这些限制中的任何一个,您必须为 Open 事件编写代码,而不是记录 Auto_Open 宏,如下一节所述。

工作簿打开事件的 VBA 代码

您可以编写将在打开工作簿时执行的代码。VBA 为您提供了一个名为 open 的事件,该事件包含一个 VBA 过程,用于在打开工作簿时执行的操作。

打开存储为绝对引用编写的宏的工作簿 – Report_ProjectXYZ。运行此宏时,将在工作簿中添加一个新工作表,并且项目报告结构出现在新工作表上。

您可以编写在打开工作簿时执行这些操作的宏代码。这意味着当您打开项目报告工作簿时,将准备好一个具有报告结构的新工作表供您输入详细信息。

在 VBA 编辑器中遵循以下给定的程序 –

  • 在 Projects Explorer 中双击 ThisWorkbook。

  • 在代码窗口中,选择左侧下拉列表中的 Workbook 和右侧下拉列表中的 Open。子 Workbook_Open() 出现。

工作簿_打开

  • 单击项目资源管理器中的模块。

  • 双击包含宏代码的模块名称。

  • 从模块中复制宏代码并将其粘贴到 Sub WorkBook_Open () 中。

子工作簿_open

保存启用宏的工作簿。再打开。宏运行并插入具有报告结构的新工作表。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁