如何在Excel中创建VBA宏或脚本


Microsoft Excel使用户可以使用宏和Visual Basic for Applications(VBA)脚本自动执行功能和命令。 VBA是Excel的编程语言 用于创建宏。它还将根据特定条件执行自动命令。

宏是一系列预先记录的命令。当给出特定命令时,它们会自动运行。如果您在Microsoft Excel中有重复执行的任务,例如会计,项目管理或工资单,则使这些过程自动化可以节省大量时间。

在Excel中功能区Developer标签下,用户可以记录鼠标的点击和击键(宏)。但是,某些功能需要比宏所能提供的更多的深度脚本。这就是VBA脚本成为巨大好处的地方。它允许用户创建更复杂的脚本。

在本文中,我们将解释以下内容:

  • 启用脚本和宏
  • 如何创建Excel中的宏
  • 宏的特定示例
  • 了解有关VBA的更多信息
  • 创建按钮以开始使用VBA
  • 添加提供按钮功能的代码
  • 它起作用了吗?
  • 启用脚本和宏

    在创建之前宏或Excel中的VBA脚本,必须启用Ribbon菜单上的Developer标签。默认情况下,“开发人员”标签未启用。要启用它:

    • 打开Excel工作表。
    • 单击文件>选项>自定义功能区。
    • <图class =“ lazy aligncenter”>
      • 开发人员旁边的框中打勾。
        • Ribbon菜单中单击Developer标签。 。
        • <图class =“ lazy aligncenter”>
          • 下一步,单击Macro Security(宏安全性),然后选中启用所有宏(不建议这样做;可能运行潜在危险的代码)旁边的框。
          • 然后单击确定。
          • <图类=“ lazy aligncenter “>

            宏默认情况下未打开,并带有警告,原因是它们是可能包含恶意软件的计算机代码。

            <!-
            In_content_1全部:[300x250] / dfp:[640x360]
            ->

            如果您正在Excel和其他Microsoft程序中的共享项目上工作,请确保文档来自受信任的来源。

            使用脚本和宏完成操作后,请禁用所有宏,以防止可能的恶意代码感染其他文档。

            在Excel中创建宏

            在录制宏时在Excel中执行的所有操作均已添加到其中。

            • 从“开发人员”选项卡中,单击记录宏
            • <图class =“ lazy aligncenter”>
              • 输入宏名快捷键>和描述。宏名称必须以字母开头,并且不能有任何空格。快捷键必须是字母。
              • 从以下选项中确定要在何处存储宏:

                • 个人宏工作簿:这将创建一个隐藏的Excel文档,其中包含用于所有Excel文档的已存储宏。
                • 新工作簿:将创建一个新的Excel文档来存储创建的宏。
                • 此工作簿:仅适用于当前正在编辑的文档。
                • 完成后,单击确定

                  • 执行要自动化的操作。完成后,点击停止录制
                  • 要访问宏,请使用为其提供的键盘快捷键。
                  • 宏的特定示例

                    让我们从一个简单的客户电子表格及其欠款开始。我们将首先创建一个宏来格式化工作表。

                    让我们假设您决定所有电子表格都应使用其他格式,例如将名字和姓氏放在不同的列中。

                    您可以手动更改此设置。或者,您也可以使用宏来创建程序,以自动为您正确设置其格式。

                    记录宏

                    • 单击记录宏。我们将其命名为Format_Customer_Data,然后单击确定
                    • 要获取所需的格式,我们将第一列名称更改为名字
                    • 然后在A旁边插入一列,并将其命名为姓氏
                    • 突出显示第一列中的所有名称(仍包括名字和姓氏),然后从功能区导航中单击数据
                    • 单击文本到列
                    • <图类=“ lazy aligncenter”>
                      • 打勾定界>下一步>按空格分隔>下一步>>完成。请参阅下面的屏幕快照,以及上面的过程如何分隔姓氏和名字。
                        • 要格式化“到期应付”字段,请突出显示金额。点击主页条件格式>突出显示单元格规则>大于>0
                        • <图class =“ lazy aligncenter”>

                          这将突出显示具有平衡的单元格到期。由于进一步说明了格式,我们添加了一些没有余额的客户。

                          • 返回Developer,然后单击Stop Recording
                          • 应用宏

                            从原始电子表格开始,然后我们记录宏以正确格式化它。单击,选择并运行您刚刚创建的宏。

                            运行宏时,所有格式已为您完成。我们刚刚创建的该宏存储在Visual Basic编辑器中。

                            用户可以用几种不同的方式运行宏。阅读运行宏 了解更多信息。

                            了解有关VBA的更多信息

                            要了解有关VBA的信息,请从Developer中单击Macro标签。找到您创建的一个,然后单击编辑。

                            <图类=“ lazy aligncenter”>

                            在上面的框中看到的代码是录制宏时创建的代码。

                            这也是您要以相同方式设置其他客户付款电子表格格式的操作。

                            创建VBA入门按钮

                            使用上面与客户相同的电子表格以及他们的欠款,让我们创建一个货币转换器。

                            • 要插入按钮元素,请导航至Developer 标签。
                            • 控件部分中的插入旁边的下拉列表中选择ActiveX命令按钮
                            • <图class =“ lazy aligncenter”>
                              • 将按钮拖到电子表格上的任意位置,以便您可以轻松访问它,以后再根据需要进行更改。
                                • 要附加代码,请右键单击该按钮,然后选择属性。我们将名称保留为CommandButton,将标题保留为转换(这是按钮文本)。
                                • <图class =“ lazy aligncenter”>

                                  添加代码以提供按钮功能

                                  Excel界面中不会进行VBA编码。它是在单独的环境中完成的。

                                  • 转到开发人员标签,并确保设计模式处于活动状态。
                                    • 要访问我们刚刚创建的按钮的代码,右键单击它,然后选择查看代码
                                      • 查看下面的屏幕快照中的代码,请注意代码的开头(Private Sub)和结尾(End Sub)已经存在。 / li>
                                        <图class =“ lazy aligncenter”>
                                        • 下面的代码将驱动货币转换过程。
                                      • ActiveCell.Value =(ActiveCell * 1.28)

                                        我们在本节中的目的是在我们的电子表格中转换货币。上面的脚本反映了GBP到USD的汇率。单元格的新值将是当前的值乘以1.28。

                                        下面的屏幕截图显示了插入后该代码在VBA窗口中的显示方式。

                                        • 转到文件顶部导航,并单击“关闭并返回到Microsoft Excel”以返回到Excel主界面。
                                        • <图class =“ lazy aligncenter”>

                                          它起作用了吗?

                                          在测试代码之前,您必须首先禁用“设计模式”(单击它)以避免进一步修改并提供按钮功能。

                                          • 在电子表格中键入任意数字,然后单击转换按钮。如果您的数字值增加了大约四分之一,那么它就起作用了。
                                          • 在此示例中,我将数字4放入了一个单元格。点击转换后,数字更改为5.12。由于4倍1.28是5.12,因此代码正确执行。

                                            现在您已经了解了如何在Excel中创建宏或脚本,可以使用它们在Excel中自动执行多种操作。

                                            01 錄製巨集與建立按鈕

                                            相关文章:


                                            13.12.2019