莱拉Gharani

想象一下,您可以从纽约市传送到澳大利亚的悉尼,在五秒钟内。你会打扰传统的22小时飞行吗?当然你不会。

假设您可以在5秒钟内创建一个包含表格和图表的完整Excel报表,只需点击一次鼠标。你想知道怎么做吗?或者你更愿意用你生命中的22个小时来手工制作这份报告?

如果你对5秒选项的回答是“是”,那么VBA和Excel中的宏就是你要找的。

想想一下,你发现自己在Excel中表现出同一组步骤,一遍又一遍。这是使用宏的主要候选者。

想象一下,在Microsoft Excel中执行以下过程,单击

解锁Excel VBA和Excel宏

最后更新了4月2021年

畅销书
  • 172课
  • 所有级别
4.7 (26850)

使用Microsoft Excel VBA和Excel Macros(包含的现实世界项目)自动执行复杂任务。实现更多。省时间。|由Leila Gharani

探索课程

想象一个你希望更有效率的过程。它可能可以与使用VBA语言和宏代码。

VBA - Excel的传送器

那么VBA在Excel中是什么?Visual Basic for Applications(或VBA)是一种计算机编程语言的Visual Basic子集。将其视为Visual Basic,或VB的“Lite-version”。

人们使用VB创建直接在主机操作系统下运行的自包含程序。您可以使用VBA创建在其中一个Office应用程序中运行的进程和例程,例如Excel。

VBA的存在是为了自动化通常由人长期执行的任务和流程。这些自动化是VBA宏。

通过实现宏,可以减少创建Excel报表所需的工作和时间。这可能是80%,90%,或者在某些情况下是99.9%,如果我们把按下一个按钮算为花费的精力。

创建VBA宏

您可以使用两个关键方法创建宏:宏记录器和手工制作的VBA代码。通常,您会在同一个项目中使用这两种方法。

您可以使用宏记录器为主要任务创建一个通用框架。您可以使用手工编写的代码来包含宏记录器无法实现的特性,比如用户输入和进程循环。

宏记录器是一种简单的方法,无论是初学者和VBA老兵创建宏。不过,这并不是编写VBA代码的最有效的方法。它可以完成工作,但并不总是以最优雅的方式。

如果你想获得宏的全部功能,你需要进入VBA代码的世界。这可能需要一些时间和实践,但这是一种带来巨大回报的投资。

不要让上面的例子恐吓你。宏记录器可以为您编写大部分代码。

运行一个宏

运行宏时有几种选项。

这些方法中的每一种都有利弊。最好学习尽可能多的这些,以便在任何特定情况下使用最佳选择。

相对宏和绝对宏

Excel单元格引用可以以相对模式或绝对模式运行。换句话说,重复公式时改变的引用与保持不变的引用。VBA代码也可以是相对的或绝对的。

当您有两个进程时,这很有用。一个过程需要在电子表格中的同一位置发生。每次运行它时都需要在潜在的不同位置发生。

想象一个需要位于电子表格顶部相同单元格中的表单标题。您还有一个合法的免责声明,它必须位于最后使用的行下面的两行。您可以将标题创建为一个绝对宏,并将法律声明创建为一个相对宏。

让用户输入

VBA可以从用户那里获得输入,并在执行期间将该输入包含在代码中。

您可以提示用户输入日期范围,而不是编写一个总是为去年的销售创建销售报告的宏。通过获取输入,您可以使用相同的宏报告10天或10年的销售情况。您不必为您希望报告的每一个可能的期间创建一个单独的宏。

设想制作一个下拉列表,允许用户选择要报告的部门、销售代表或产品。同样,每次根据不同的标准创建报表给宏提供了很大的灵活性。

更少的宏意味着更少的生产时间,以及更容易的维护。它们也意味着更少的故障修复。

这些请求可以是对话框或用户表单。一个输入框将一次收集一个问题的信息…

一个用户表单可以接受多条信息,并根据不同的逻辑处理所有信息

我们可以使用用户表单来收集我们将存储在底层表中的信息。您可以使用这些表来提供各种不同的报告。

本地和全局宏

传统的Excel文件存储您的Local宏。如果你通过电子邮件附件、云共享或老式运动鞋网发送文件,它们就会随身携带文件。

如果您希望为那些可能不擅长Excel的人自动化用户流程,那么这是理想的选择。让人们点击一个按钮,然后让宏引导他们快速而准确地完成整个过程或执行整个步骤集。

全局宏是特定于您的机器的,它的作用更像是一个内置的程序特性。无论您使用什么文件,这些宏都是可用的。

访问VBA代码

你可以查看VBA代码Visual Basic编辑器。您可以使用三种方法之一启动此编辑器:

· 请按alt f11键盘组合

·右键单击任何工作表标签,选择“”视图代码

·从选项卡/丝带中选择开发者标签->代码(组)-> Visual Basic

VB编辑器向您展示了一些东西。您可以看到所有打开的工作簿的列表,所有模块表(这些通常包含VBA代码),以及一个窗口来查看所选模块的VBA代码。

创建一个简单的宏

让我们看看宏可以节省时间的强大,以及他们创建的容易程度。我们将创建一个非常简单的宏,几乎每个人都可以使用。

假设我们必须在电子表格的开头输入并自定义一个标题。

这是我们每天做几次的事情。在内容和外观方面总是相同的。我们可以录制创建标题的过程,因此它可以是单击,可重复的事件。

1.打开一个空白的工作簿。

2.选择查看(标签) - >宏(下部按钮)- >纪录宏

3.输入宏名称。名称是唯一必要的部分。您可以使用下面的图像作为您可以填充的其他输入的示例。

4.点击好吧启动录音机。

选择当前空白表的单元格A1。创建您选择的标题。这可以包括公司名称,地址,电话号码,网站地址等信息。

自定义字体、大小、颜色和对齐。你可以对标题做任何你通常做的事情。

创建并自定义标题后,停止录制过程。通过选择查看(标签) - >宏(按钮的下部)- >停止录制

测试宏

现在让我们测试宏的性能和准确性。创建一个新的空白表,然后通过选择来运行宏查看(标签) - >宏(按钮的上部)

对话框,选择您选择的名称的宏并单击运行

结果应该是您在记录过程中执行的步骤的精确重复。

查看代码

要将录制的步骤视为VBA代码,请选择查看(标签) - >宏(下部按钮)- >查看宏

从列表中选择宏,然后单击编辑

代码将在Visual Basic编辑器中打开,并显示如下:

子Insert_Heading()”这个宏将在当前工作表中插入标准的“从单元格A1开始的公司标题”。范围(" A1 ")。选择ActiveCell.FormulaR1C1 = "ACME Widget Corporation" Range("A3").Select ActiveCell.FormulaR1C1 = "Pazmangasse 24" Range("A4").Select ActiveCell.FormulaR1C1 = "Vienna, Austria" Range("A5").Select ActiveCell.FormulaR1C1 = "A-1020 Vienna" Range("A6").Select ActiveCell.FormulaR1C1 = "AUSTRIA" Range("A1").Select With Selection.Font .Name = "Century Gothic" .Size = 24 .ThemeColor = xlThemeColorAccent6 .TintAndShade = -0.249977111117893 End With Range("A3:A6").Select With Selection.Font .Name = "Lato Heavy" .Size = 18 .ThemeColor = xlThemeColorAccent2 .TintAndShade = -0.499984740745262 End With Range("A8").Select End Sub

请记住,您可以以更友好的方式运行宏。这可以类似于单击快速访问工具栏上的按钮。

关键

这是一个非常简单的Excel宏示例。如果说宏有什么好处的话,那就是自动化重复的、可预测的任务。不管任务有多困难。只要有一个合理的方法来组织和分析数据,您可以使用宏自动化它。

下次你用同样的方式做同样的任务时,对自己说,“我应该把它变成一个宏观。”

Excel VBA顶级课程

Excel宏和VBA初学者
Bluelime学习解决方案
4.4 (17)
热&新
解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (26,831)
畅销书
完整的Web自动化与Excel VBA
丹尼尔强
4.7 (738)
畅销书
Excel VBA宏:超消除歧义的Excel VBA编程
格兰特赌博
4.4 (989)
畅销书
熟练掌握微软Excel宏和Excel VBA
凯尔·佩
4.5 (11,666)
畅销书
最终Excel VBA
马克Talbert
4.7 (3,201)
Excel VBA编程 - 完整指南
Boris Paskhaver.
4.7 (3731)
Microsoft Excel VBA简介
凯尔·佩
4.6 (1160)
Excel Macros&Excel VBA编程为初学者编程
Andreas Exadaktylos
4.5 (854)
评价最高

更多Excel VBA课程

Excel VBA的学生也可以学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示

课程由Leila Gharani提供

终极Excel瀑布图课程
莱拉Gharani
4.7 (473)
视觉上有效的Excel仪表板
莱拉Gharani
4.7 (11441)
畅销书
解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (26850)
畅销书
掌握Excel的功能在Office 365 - Excel动态数组
莱拉Gharani
4.7 (1315)
评价最高
Excel Essentials for the Real World(完整的Excel课程)
莱拉Gharani
4.7 (5,892)
评价最高
精通Excel Power查询从初级到高级(含M)
莱拉Gharani
4.7 (3,794)
畅销书
谷歌Sheets -综合大师班
莱拉Gharani
4.8 (1043)
畅销书

课程由Leila Gharani提供