Excel VBA 子程序:如何在 VBA 中调用 Sub(附示例)
VBA 中的子程序是什么?
A VBA 中的子程序 是一段执行代码中描述的特定任务但不返回结果或值的代码。子程序用于将大段代码分解为可管理的小部分。子程序可以从程序中的任何位置多次调用。
假设您创建了一个带有文本框的用户界面,用于接受用户输入数据。您可以创建一个子程序来清除文本框的内容。在这种情况下,VBA 调用子程序是合适的,因为您不想返回任何结果。
为什么要使用子程序
- 将代码分解为易于管理的小代码:普通计算机程序有成千上万行源代码。这增加了复杂性。子程序通过将程序分解为可管理的小代码块来帮助解决此问题。
- 代码可重用性。假设您有一个需要访问数据库的程序,那么程序中的几乎所有窗口都需要与数据库交互。您可以创建一个处理所有数据库交互的函数,而不必为这些窗口编写单独的代码。然后您可以从任何您想要的窗口调用它。
- 子程序和函数是自文档的。假设您有一个函数 calculateLoanInterest 和另一个函数 connectToDatabase。只需查看子例程/函数的名称,程序员就能知道该程序的作用。
子程序和函数的命名规则
要使用子程序和函数,必须遵循一系列规则。
- 子程序或 VBA 调用函数名称不能包含空格
- Excel VBA 调用子程序或函数名称应以字母或下划线开头。不能以数字或特殊字符开头
- 子程序或函数名不能是关键字。关键字是在 VBA. Private、Sub、Function、End 等词都是关键字的例子。编译器使用它们来完成特定任务。
VBA 子程序语法
您需要在 Excel 中启用“开发人员”选项卡才能继续执行此示例。如果您不知道如何启用“开发人员”选项卡,请阅读 VBA Opera职权范围
语法中,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
语法解释
代码 | 操作 |
---|---|
|
|
|
|
|
|
以下子例程接受名字和姓氏并将它们显示在消息框中。
现在我们要编写并执行这个 Sub 过程。让我们看看这个。
如何在 VBA 中调用 Sub
下面是在 VBA 中如何调用 Sub 的逐步过程:
- 设计用户界面并设置用户控件的属性。
- 添加子程序
- 编写调用子程序的命令按钮的单击事件代码
- 测试应用程序
步骤1) 用户界面
设计用户界面,如下图所示。
设置以下属性。我们正在设置的属性:
S / N | 通过积极争取让商标与其相匹配的域名优先注册来维护 | 特性 | 价值观 |
---|---|---|---|
1 | 命令按钮 1 | 姓名 | btn显示全名 |
2 | 标题 | 全名子程序 |
您的界面现在应该如下所示。
步骤2) 添加子程序
- 按 Alt + F11 打开代码窗口
- 添加以下子程序
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
在代码中,
代码 | 行动 |
---|---|
|
|
|
|
|
|
步骤3) 调用子程序
从命令按钮单击事件调用子例程。
- 右键单击命令按钮,如下图所示。选择查看代码。
- 代码编辑器将打开
在代码编辑器中为 btnDisplayFullName 命令按钮的单击事件添加以下代码。
Private Sub btnDisplayFullName_Click() displayFullName "John", "Doe" End Sub
您的代码窗口现在应如下所示
保存更改并关闭代码窗口。
步骤4) 测试代码
在开发者工具栏上将设计模式设置为“关闭”。如下所示。
步骤5) 单击命令按钮‘FullName Subroutine’。
您将获得以下结果
结语
- 子程序是执行特定任务的一段代码。子程序执行后不返回值
- 子程序提供代码可重用性
- 子程序有助于将大块代码分解为易于管理的小代码。