经过前面的一系列文章的示例学习,我们应该已经熟悉了Sub过程。通常我们看到的Sub过程的基本形式是: Sub 过程名称()
[此处放置代码语句]
Exit Sub
End Sub 这也是我们在编写大多数VBA程序时用到的结构。其中:
通常,在VBE编辑器中,写下sub和过程名称,按下回车键后,会自动添加End Sub语句。Sub过程用来执行操作,而Function过程可以返回值,创建自定义函数。Function过程的基本语法形式为: Function 过程名称()
[此处放置代码语句]
[过程名称= 表达式或值]
[Exit Function]
[此处放置代码语句]
[过程名称= 表达式或值]
End Function 可以看出,其形式与Sub过程的基本形式相似,只是将关键词Sub换成了Function。注意:
下面的示例代码统计当前可见工作簿的数量: Function lWkbNum() Dim lCount As Long '声明计数变量 Dim wkb As Workbook '声明工作簿对象变量
'遍历应用程序中的工作簿 For Each wkb In Application.Workbooks '如果为可见工作簿则增加1 If wkb.Windows(1).Visible Then lCount = lCount 1 End If Next wkb
'将结果赋值给函数名 lWkbNum = lCount End Function 就像运用Excel内置函数一样,在工作表中输入“=lWkbNum()”,显示当前已打开的可见工作簿的数量,如下图所示。 图:在单元格A1中输入=lwkbnum(),显示2,即当前打开的可见工作簿数为2个
下面的代码在Sub过程中调用自定义的lWkbNum函数: Sub testlWkbNum() MsgBox '当前可见工作簿的数量为:'& lWkbNum End Sub 运行后显示如下图所示的消息框:
由于之前的一系列文章中都是使用的Sub过程作为的例子,所以本文详细介绍了Function过程的最基础知识,给您一个初步的认识。 不管是Sub过程还是Function过程,都可以带有参数,Function过程还可以设置返回值的类型,我们将在后续逐步深入这些知识。
-------------------------------------- 通过下列方式可以更快地了解完美Excel更新:
关注《完美Excel》微信公众账号: |
|