如何为 Microsoft Excel 创建自己的加载项

即使您不知道如何编程,也有很多地方(书籍、网站、论坛)可以找到用于 Excel 中大量典型任务的现成 VBA 宏代码。 以我的经验,大多数用户迟早会收集他们个人的宏集合来自动化日常流程,无论是将公式转换为值,用文字显示总和,还是按颜色对单元格求和。 问题出现了——Visual Basic 中的宏代码需要存储在某个地方,以便以后在工作中使用。

最简单的选择是使用键盘快捷键转到 Visual Basic 编辑器,将宏代码直接保存在工作文件中 其他+F11 并通过菜单添加一个新的空模块 插入 - 模块:

但是,这种方法有几个缺点:

  • 如果有很多工作文件,而且到处都需要一个宏,例如将公式转换为值的宏,那么您将不得不复制代码 在每一本书.
  • 一定不能忘记 以启用宏的格式保存文件 (xlsm) 或二进制书本格式 (xlsb)。
  • 打开这样的文件时 宏观保护 每次都会发出需要确认的警告(好吧,或者完全禁用保护,这可能并不总是可取的)。

一个更优雅的解决方案是创建 您自己的加载项(Excel 加载项) – 包含所有“最喜欢的”宏的特殊格式 (xlam) 的单独文件。 这种方法的优点:

  • 就足够了 连接插件一次 在 Excel 中 – 您可以在这台计算机上的任何文件中使用它的 VBA 程序和函数。 因此,不需要以 xlsm 和 xlsb 格式重新保存您的工作文件,因为。 源代码不会存储在其中,而是存储在加载项文件中。
  • 的故事 你也不会被宏所困扰。 根据定义,附加组件是受信任的来源。
  • 可以做 单独的标签 在带有漂亮按钮的 Excel 功能区上运行加载宏。
  • 加载项是一个单独的文件。 他的 便于携带 从电脑到电脑,与同事分享甚至出售😉

让我们逐步了解创建您自己的 Microsoft Excel 加载项的整个过程。

步骤 1. 创建加载项文件

使用空白工作簿打开 Microsoft Excel 并将其保存为任何合适的名称(例如 MyExcel插件) 以插件格式使用命令 文件 - 另存为 或钥匙 F12, 指定文件类型 Excel 插件:

请注意,默认情况下 Excel 将加载项存储在 C:UsersYour_nameAppDataRoamingMicrosoftAddIns 文件夹中,但原则上,您可以指定任何其他方便的文件夹。

步骤 2. 我们连接创建的加载项

现在我们在上一步中创建的加载项 MyExcel插件 必须连接到 Excel。 为此,请转到菜单 文件——选项——附加组件 (文件——选项——加载项),点击按钮 关于我们 (去) 在窗口的底部。 在打开的窗口中,单击按钮 评论 (浏览) 并指定我们的加载项文件的位置。

如果您做对了一切,那么我们的 MyExcel插件 应该出现在可用加载项列表中:

步骤 3. 将宏添加到加载项

我们的加载项已连接到 Excel 并成功运行,但其中还没有一个宏。 让我们把它填满。 为此,请使用键盘快捷键打开 Visual Basic 编辑器 其他+F11 或通过按钮 Visual Basic中 标签 开发人员 (开发商). 如果选项卡 开发人员 不可见,可以通过显示 文件 - 选项 - 功能区设置 (文件 - 选项 - 自定义功能区).

编辑器左上角应该有一个窗口 项目 (如果不可见,则通过菜单开启 查看 — 项目资源管理器):

此窗口显示所有打开的工作簿和正在运行的 Microsoft Excel 加载项,包括我们的加载项。 VBA项目(MyExcelAddin.xlam) 用鼠标选择它并通过菜单向它添加一个新模块 插入 - 模块. 在此模块中,我们将存储加载项宏的 VBA 代码。

您可以从头开始键入代码(如果您知道如何编程),也可以从现成的某个地方复制它(这更容易)。 为了测试,让我们在添加的空模块中输入一个简单但有用的宏的代码:

输入代码后,别忘了点击左上角的保存按钮(软盘)。

我们的宏 公式到值,正如您可以轻松想象的那样,将公式转换为预选范围内的值。 有时这些宏也被称为 程序. 要运行它,您需要选择带有公式的单元格并打开一个特殊的对话框 从标签 开发人员 (开发者——宏) 或键盘快捷键 其他+F8. 通常,此窗口显示所有打开的工作簿中的可用宏,但加载宏在这里不可见。 尽管如此,我们可以在字段中输入我们的程序的名称 宏名 (宏名)然后单击按钮 运行 (跑) – 我们的宏将起作用:

    

在这里,您还可以分配键盘快捷键以快速启动宏 - 按钮负责此操作 参数 (选项) 在上一个窗口中 :

分配键时,请记住它们区分大小写和键盘布局。 因此,如果您分配一个组合,例如 按Ctrl+Й,那么,实际上,将来你必须确保你已经打开了布局,并另外按 转移获取大写字母。

为方便起见,我们还可以在窗口左上角的快速访问工具栏中为我们的宏添加一个按钮。 为此,请选择 文件——选项——快速访问工具栏 (文件——选项——自定义快速访问工具栏),然后在窗口顶部的下拉列表中选择 . 之后我们的宏 公式到值 可以用按钮放置在面板上 地址 (新增) 并使用按钮为其选择一个图标 更改 (编辑):

步骤 4. 向加载项添加功能

但是, 宏观程序,也有 函数宏 或者他们被称为 UDF (用户定义函数 = 用户定义函数)。 让我们在附加组件中创建一个单独的模块(菜单命令 插入 - 模块) 并将以下函数的代码粘贴到那里:

不难看出,从含增值税的金额中提取增值税是需要这个功能的。 当然不是牛顿二项式,但它可以作为一个例子来展示基本原理。

请注意,函数的语法与过程不同:

  • 使用构造 功能 …。 结束功能 代替 子…结束子
  • 在函数名之后,它的参数用括号表示
  • 在函数体中,执行必要的计算,然后将结果分配给具有函数名称的变量

还要注意这个函数是不需要的,不可能像之前的宏程序那样通过对话框运行 和按钮 运行. 这样的宏函数应该用作标准工作表函数(SUM、IF、VLOOKUP…),即只需在任何单元格中输入,以增值税为参数指定金额的值:

… 或通过标准对话框输入插入功能(按钮 fx 在公式栏中),选择一个类别 用户自定义 (用户自定义):

这里唯一不愉快的时刻是窗口底部没有通常的功能描述。 要添加它,您必须执行以下操作:

  1. 使用键盘快捷键打开 Visual Basic 编辑器 其他+F11
  2. 在“项目”面板中选择加载项,然后按 键 F2打开对象浏览器窗口
  3. 从窗口顶部的下拉列表中选择您的加载项项目
  4. 右键单击出现的功能并选择命令 查看房源.
  5. 在窗口中输入函数的描述 产品描述
  6. 保存加载项文件 并重新启动excel.

重启后,函数应该会显示我们输入的描述:

步骤 5. 在界面中创建附加选项卡

最后,虽然不是强制性的,但令人愉快的触摸将是创建一个带有按钮的单独选项卡来运行我们的宏,连接我们的加载项后,它将出现在 Excel 界面中。

有关默认显示的选项卡的信息包含在书中,并且必须以特殊的 XML 代码格式化。 编写和编辑此类代码的最简单方法是借助特殊程序——XML 编辑器。 最方便(且免费)之一是 Maxim Novikov 的程序 功能区 XML 编辑器.

使用它的算法如下:

  1. 关闭所有 Excel 窗口,这样我们在编辑外接程序 XML 代码时就不会发生文件冲突。
  2. 启动 Ribbon XML Editor 程序并在其中打开我们的 MyExcelAddin.xlam 文件
  3. 带按钮 标签 在左上角,为新标签添加代码片段:
  4. 您需要输入空引号 id 我们的选项卡和组(任何唯一标识符),以及 标签 – 我们选项卡的名称和上面的一组按钮:
  5. 带按钮 按键 在左侧面板上,为按钮添加一个空白代码并为其添加标签:

    - 标签 是按钮上的文字

    — imageMso — 这是按钮上图像的条件名称。 我使用了一个名为 AnimationCustomAddExitDialog 的红色按钮图标。 如果您搜索关键字“imageMso”,则可以在 Internet 上的大量站点上找到所有可用按钮的名称(有数百个!)。 对于初学者,你可以去这里。

    - 动作 – 这是回调过程的名称 – 一个特殊的短宏,它将运行我们的主宏 公式到值. 您可以随意调用此过程。 我们稍后会添加它。

  6. 您可以使用工具栏顶部带有绿色复选标记的按钮检查所有操作的正确性。 在同一个地方,单击带有软盘的按钮以保存所有更改。
  7. 关闭功能区 XML 编辑器
  8. 打开 Excel,转到 Visual Basic 编辑器并在我们的宏中添加一个回调过程 杀戮公式以便它运行我们的主宏来用值替换公式。
  9. 我们保存更改,然后返回 Excel,检查结果:

这就是全部 - 加载项已准备好使用。 用你自己的程序和函数填充它,添加漂亮的按钮——在你的工作中使用宏将变得更加容易。

  • 什么是宏,如何在工作中使用它们,在 Visual Basic 中从何处获取宏代码。
  • 在 Excel 中打开工作簿时如何制作启动画面
  • 什么是个人宏本以及如何使用它

发表评论