VBA 中,调用子过程或函数时,我们可以为它们传递参数。提供的参数可以在子过程或函数内部使用,让程序更动态和灵活。传递参数的前提是,先在子过程或函数定义阶段设置参数,后在调用时按正确的方式提供实际参数值。
本篇教程主要介绍传递参数的基础部分,主要内容包括:
带参数的子过程和函数的定义方法。
调用子过程和函数时,参数的书写方式。
可选参数的语法和实际用法。
关于子过程和函数、它们的区别以及如何调用,请看前几篇内容。
在子过程和函数中,传递参数的用法基本相同,本篇以子过程为例介绍参数的使用,函数中用法参考子过程。
带参数的子过程定义方法
子过程可以接受一个或多个参数,参数可以是常量、变量、表达式,并且每个参数指定其名称和数据类型。
看实际的例子,以下代码定义了带两个参数的一个过程,过程名是 CustomLog ,参数分别是 num 和 base。此过程的用途是计算任意底数的对数,num 是计算对数的值,base 是底数。
'声明一个带参数的子过程
Sub CustomLog(num As Double, base As Integer)
Debug.Print Log(num) / Log(base)
End Sub
子过程按照这种方法定义后,调用时,VBA 会提示需要提供什么参数以及参数类型。
调用带参数的子过程
调用带参数的过程,只需将参数按定义顺序书写即可,多个参数使用逗号分开。