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
- 点击开发者选项卡
- 单击控件功能区栏下的“插入”下拉框
- 选择一个命令按钮,如下图所示
在工作表的任意位置绘制命令按钮
您将看到以下对话窗口
- 将宏名称重命名为btnHelloWorld_Click
- 点击新建按钮
- 您将看到以下 VBA 代码窗口
输入以下指令代码
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
这里,
- “将名称设为字符串” 创建一个名为 name 的变量。该变量将接受文本、数字和其他字符,因为我们将其定义为字符串
- “名称=输入Box(“输入你的名字”)” 调用内置函数输入Box 显示一个带有标题“输入您的姓名”的窗口。输入的姓名随后存储在 name 变量中。
- “MsgBox “你好”+名字” 调用内置函数 MsgBox 显示“Hello”和输入的名字。
您的完整代码窗口现在应如下所示
- 关闭代码窗口
- 右键单击按钮 1,然后选择编辑文本
- 输入 打招呼
- 点击“打招呼”
- 你将得到以下输入框
- 输入你的名字,例如 Jordan
- 您将收到以下消息框
恭喜,你刚刚在 Excel 中创建了第一个 VBA 程序
在 Excel 中创建简单 EMI 计算器的分步示例
在本教程练习中,我们将创建一个计算 EMI 的简单程序。EMI 是“等额月供”的缩写。这是您获得贷款时每月偿还的金额。下图显示了计算 EMI 的公式。
上述公式比较复杂,可以用 excel 编写。好消息是 excel 已经解决了上述问题。您可以使用 PMT 函数来计算上述内容。
PMT 函数的工作原理如下
=PMT(rate,nper,pv)
这里,
- “速度” 这是月利率。它是利率除以每年还款次数
- “nper” 这是总还款次数。它是贷款期限乘以每年还款次数
- “光伏” 现值。这是实际贷款金额
使用 Excel 单元格创建 GUI,如下所示
在第 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 示例中使用 VBA
以下步骤将解释如何在 Excel 中使用 VBA。
步骤1) 打开 VBA 编辑器
在主菜单的“开发人员”选项卡下,单击“Visual Basic”图标,它将打开您的 VBA 编辑器。
步骤2) 选择 Excel 工作表 & Double 点击工作表
它将打开一个 VBA 编辑器,您可以从中选择要运行代码的 Excel 工作表。要打开 VBA 编辑器,请双击工作表。
它将在文件夹右侧打开一个 VBA 编辑器。它将显示为一个空白区域。
步骤3) 在 Msg 中写入您想要显示的任何内容Box
在此步骤中,我们将看到我们的第一个 VBA 程序。要读取和显示我们的程序,我们需要一个对象。在 VBA 中,该对象或介质位于 Msg 中Box.
- 首先,写下“Sub”,然后写下你的“程序名称”(Guru99)
- 在 Msg 中写入您想要显示的任何内容Box (guru99-学习很有趣)
- 通过 End Sub 结束程序
步骤4) 点击编辑器顶部的绿色运行按钮
下一步,您必须通过单击编辑器菜单顶部的绿色运行按钮来运行此代码。
步骤5) 选择工作表并单击“运行”按钮
运行代码时,会弹出另一个窗口。在这里,您必须选择要显示程序的工作表,然后单击“运行”按钮
步骤6) 在 Msg 中显示消息Box
当你点击运行按钮时,程序就会执行。它会在 Msg 中显示消息Box.
总结
VBA 全称:Visual Basic for Application。它是 Visual Basic 编程语言的一个子组件,可用于在 Excel 中创建应用程序。使用 VBA,您仍然可以利用 Excel 的强大功能并在 VBA 中使用它们。