Excel 中的 VBA:什么是 Visual Basic 应用程序,如何使用

Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs

我想延续史蒂夫·乔布斯的名言,世界上每个人都应该学习如何编写计算机程序。你最终可能不一定成为一名程序员或编写程序,但它会教你如何思考。

什么是 Visual Basic 应用程序 (VBA)?

Visual Basic应用程序(VBA) 是一种事件驱动的编程语言,由 Microsoft 开发 Office 应用程序。VBA 有助于开发自动化流程, Windows API 和用户定义函数。它还使您能够操作主机应用程序的用户界面功能。

在我们进一步讨论细节之前,让我们先用通俗易懂的语言来看一下计算机编程是什么。假设你有一个女佣。如果你想让女佣打扫房子和洗衣服。你用英语告诉她该做什么,她就会为你做这些工作。当你使用计算机时,你会想要执行某些任务。就像你告诉女佣做家务一样,你也可以告诉计算机为你做这些任务。

告诉计算机您希望它为您做什么的过程就是所谓的计算机编程。就像您用英语告诉女仆做什么一样,您也可以使用类似英语的语句告诉计算机做什么。类似英语的语句属于高级语言类别。VBA 是一种高级语言,您可以使用它来让 Excel 服从您的所有强大意志。

VBA 实际上是 Visual Basic 6.0 的一个子集 BASIC 代表 B初学者 A目的 S象征性的 I指令 C颂。

为什么使用 VBA?

VBA 可让您使用类似英语的语句来编写创建各种应用程序的指令。VBA 易于学习,并且具有易于使用的用户界面,您只需在其中拖放界面控件即可。它还允许您通过使其按照您想要的方式运行来增强 Excel 功能。

Excel 中 VBA 的个人和商业应用

对于个人用途,您可以将其用于简单的宏,这些宏将自动执行大多数日常任务。阅读有关宏的文章,了解有关如何实现此目的的更多信息。

对于商业用途,您可以创建由 Excel 和 VBA 提供支持的完整功能强大的程序。这种方法的优点是您可以在自己的自定义程序中利用 Excel 的强大功能。

Visual Basic 应用程序简介

在编写任何代码之前,我们需要先了解基础知识。以下基础知识将帮助您入门。

  • 请按需咨询 – 我们在高中学习过代数。求 (x + 2y),其中 x = 1 且 y = 3。在此表达式中,x 和 y 是变量。它们可以分配任意数字,即本例中分别为 1 和 3。它们也可以分别更改为 4 和 2。简而言之,变量是内存位置。使用 VBA Excel 时,您也需要声明变量,就像在代数课中一样
  • 创建变量的规则
    • 不要使用保留字——如果您是一名学生,您不能使用讲师或校长的头衔。这些头衔是为讲师和学校当局保留的。保留字是那些在 Excel VBA 中具有特殊含义的字,因此,您不能将它们用作变量名。
    • 变量名不能包含空格 – 您不能定义名为 first number 的变量。您可以使用 firstNumber 或 first_number。
    • 使用描述性名称——用自己的名字命名变量非常诱人,但请避免这种情况。使用描述性名称,例如数量、价格、小计等。这将使您的 Excel VBA 代码易于阅读
  • 算术运算符 – 规则 Brackets 除法乘法加法和减法 (BODMAS) 适用,因此请记住在使用多个不同算术运算符的表达式时应用它们。就像在 Excel 中一样,您可以使用
    • + 用于添加
    • – 减法
    • * 用于乘法
    • / 表示除法。
  • 逻辑运算符——前面教程中介绍的逻辑运算符概念也适用于使用 VBA。这些包括
    • 如果语句
    • OR
    • 不是
    • AND
    • TRUE
    • FALSE

如何启用“开发人员”选项卡

以下是如何在 Excel 中启用开发人员选项卡的分步过程:

  • 创建新工作簿
  • 单击功能区上的开始按钮
  • 了解详情
  • 单击自定义功能区
  • 选中开发者复选框,如下图所示
  • 单击确定

启用开发人员标签

您现在将能够在功能区中看到“开发人员”选项卡

VBA 你好,世界!

现在我们将演示如何使用 VBA 编程语言进行编程。VBA 中的所有程序都必须以“Sub”开头并以“End sub”结尾。此处的名称是您要分配给程序的名称。而 sub 代表子程序,我们将在本教程的后面部分学习。

Sub name()
.
.
. 
End Sub

我们将创建一个基本的 VBA 程序,该程序显示一个输入框来询问用户的姓名,然后显示一条问候消息

本教程假设您已完成 Excel 中的宏 并在 Excel 中启用了 DEVELOPER 选项卡。

  • 创建新工作簿
  • 将其保存为启用 Excel 宏的工作表格式 *.xlsm
  • 点击开发者选项卡
  • 单击控件功能区栏下的“插入”下拉框
  • 选择一个命令按钮,如下图所示

VBA Hello World 程序

在工作表的任意位置绘制命令按钮

您将看到以下对话窗口

VBA Hello World 程序

  • 将宏名称重命名为btnHelloWorld_Click
  • 点击新建按钮
  • 您将看到以下 VBA 代码窗口

VBA Hello World 程序

输入以下指令代码

Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name

这里,

  • “将名称设为字符串” 创建一个名为 name 的变量。该变量将接受文本、数字和其他字符,因为我们将其定义为字符串
  • “名称=输入Box(“输入你的名字”)” 调用内置函数输入Box 显示一个带有标题“输入您的姓名”的窗口。输入的姓名随后存储在 name 变量中。
  • MsgBox “你好”+名字” 调用内置函数 MsgBox 显示“Hello”和输入的名字。

您的完整代码窗口现在应如下所示

VBA Hello World 程序

  • 关闭代码窗口
  • 右键单击按钮 1,然后选择编辑文本
  • 输入 打招呼

VBA Hello World 程序

  • 点击“打招呼”
  • 你将得到以下输入框

VBA Hello World 程序

  • 输入你的名字,例如 Jordan
  • 您将收到以下消息框

VBA Hello World 程序

恭喜,你刚刚在 Excel 中创建了第一个 VBA 程序

在 Excel 中创建简单 EMI 计算器的分步示例

在本教程练习中,我们将创建一个计算 EMI 的简单程序。EMI 是“等额月供”的缩写。这是您获得贷款时每月偿还的金额。下图显示了计算 EMI 的公式。

在 Excel 中创建一个简单的 EMI 计算器

上述公式比较复杂,可以用 excel 编写。好消息是 excel 已经解决了上述问题。您可以使用 PMT 函数来计算上述内容。

PMT 函数的工作原理如下

=PMT(rate,nper,pv)

这里,

  • “速度” 这是月利率。它是利率除以每年还款次数
  • “nper” 这是总还款次数。它是贷款期限乘以每年还款次数
  • “光伏” 现值。这是实际贷款金额

使用 Excel 单元格创建 GUI,如下所示

在 Excel 中创建一个简单的 EMI 计算器

在第 7 行和第 8 行之间添加一个命令按钮

将按钮宏命名为btnCalculateEMI_Click

点击编辑按钮

输入以下代码

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value 
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi

这里,

  • “Dim monthly_rate 为 Single,…” Dim 是用于定义 VBA 中的变量其中,monthly_rate 是变量名,Single 是数据类型,表示该变量将接受数字。
  • “monthly_rate = 范围(“B6”)。值/范围(“B5”)。值” Range 是用于从 VBA 访问 Excel 单元格的函数,Range(“B6”)。Value 引用 B6 中的值
  • “工作表函数.Pmt(…)” WorksheetFunction 是用于访问 Excel 中的所有函数的函数

下图为完整源代码

在 Excel 中创建一个简单的 EMI 计算器

  • 单击保存并关闭代码窗口
  • 按照下面的动画图所示测试你的程序

在 Excel 中创建一个简单的 EMI 计算器

如何在 Excel 示例中使用 VBA

以下步骤将解释如何在 Excel 中使用 VBA。

步骤1) 打开 VBA 编辑器

在主菜单的“开发人员”选项卡下,单击“Visual Basic”图标,它将打开您的 VBA 编辑器。

在 Excel 中使用 VBA

步骤2) 选择 Excel 工作表 & Double 点击工作表

它将打开一个 VBA 编辑器,您可以从中选择要运行代码的 Excel 工作表。要打开 VBA 编辑器,请双击工作表。

在 Excel 中使用 VBA

它将在文件夹右侧打开一个 VBA 编辑器。它将显示为一个空白区域。

在 Excel 中使用 VBA

步骤3) 在 Msg 中写入您想要显示的任何内容Box

在此步骤中,我们将看到我们的第一个 VBA 程序。要读取和显示我们的程序,我们需要一个对象。在 VBA 中,该对象或介质位于 Msg 中Box.

  • 首先,写下“Sub”,然后写下你的“程序名称”(Guru99)
  • 在 Msg 中写入您想要显示的任何内容Box (guru99-学习很有趣)
  • 通过 End Sub 结束程序

在 Excel 中使用 VBA

步骤4) 点击编辑器顶部的绿色运行按钮

下一步,您必须通过单击编辑器菜单顶部的绿色运行按钮来运行此代码。

在 Excel 中使用 VBA

步骤5) 选择工作表并单击“运行”按钮

运行代码时,会弹出另一个窗口。在这里,您必须选择要显示程序的工作表,然后单击“运行”按钮

在 Excel 中使用 VBA

步骤6) 在 Msg 中显示消息Box

当你点击运行按钮时,程序就会执行。它会在 Msg 中显示消息Box.

在 Excel 中使用 VBA

下载上述 Excel 代码

总结

VBA 全称:Visual Basic for Application。它是 Visual Basic 编程语言的一个子组件,可用于在 Excel 中创建应用程序。使用 VBA,您仍然可以利用 Excel 的强大功能并在 VBA 中使用它们。