手机版

如何在Excel VBA中设置函数

时间:2021-09-13 来源:互联网 编辑:宝哥软件园 浏览:

如何在Excel VBA中设置函数,在学习了前面文章中的一系列例子后,我们应该已经熟悉了Sub过程。通常,我们看到的子流程的基本形式是:

子过程名称()

[在此处放置代码语句]

出口接头

末端接头

这也是我们在编写大多数VBA程序时使用的结构。其中:

过程名是程序员给过程起的名字,其命名规则与变量名相同。同一模块中的过程名不能同名。

和Sub End Sub一起出现,构成了一个完整的程序流程。

过程中的代码可以放置一个ExitSub语句,这意味着要提前退出过程。

一般在VBE编辑器中,记下sub和过程名,按回车键后,会自动添加End Sub语句。子过程用于执行操作,而函数过程可以返回值并创建自定义函数。函数过程的基本语法形式是:

函数名()

[在此处放置代码语句]

[过程名=表达式或值]

[退出功能]

[在此处放置代码语句]

[过程名=表达式或值]

结束功能

可以看出,它的形式类似于Sub流程的基本形式,只是将关键字Sub替换为Function。注意:

在函数过程的代码语句中,至少应该给函数过程的名称赋值一次。

建议避免使用Excel内置函数名、单元格引用、单元格区域名作为函数过程的名称。

函数过程不能修改单元格区域,也不能执行与对象相关的操作。

函数过程可以应用于工作表公式,就像Excel的内置函数一样。函数过程也可以在VBA代码中使用。

ExitFunction语句可以放在代码中,这意味着要提前退出过程。

按照惯例,方括号表示可选。

下面的代码示例计算当前可见工作簿的数量:

函数lWkbNum()

“Dimlcount as long”声明计数变量。

' Dimwkb as workbook '声明工作簿对象变量。

在应用程序中遍历工作簿。

对于应用中的每个工作周。工作簿

如果是可见工作簿,请添加1。

如果wkb。Windows(1)。然后可见

lCount=lCount 1

如果…就会结束

下一周

将结果分配给函数名。

lWkbNum=lCount

结束功能

就像使用Excel内置函数一样,在工作表中输入“=lWkbNum()”即可显示当前打开的可见工作簿数量,如下图所示。

图:单元格A1输入=lwkbnum(),显示2,即当前打开的可见工作簿数为2。

以下代码调用子过程中的自定义lWkbNum函数:

Sub testlWkbNum()

MsgBox "当前可见工作簿的数量为:" lWkbNum。

末端接头

运行后,将显示如下图所示的消息框:

由于前面的系列文章都是使用Sub过程的例子,所以本文详细介绍了Function过程的最基本知识,让大家有一个初步的了解。

无论是Sub过程还是Function过程,都可以携带参数,Function过程还可以设置返回值的类型。以后我们会一步一步加深这方面的知识。

版权声明:如何在Excel VBA中设置函数是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。