发布信息

Excel VBA中怎么设置Function

作者:admin      2024-05-07 21:00:00     0



Excel VBA中怎么设置Function,经过前面的一系列文章的示例学习,我们应该已经熟悉了Sub过程。通常我们看到的Sub过程的基本形式是:

Sub 过程名称()

[此处放置代码语句]

Exit Sub

End Sub

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

过程名称为编程人员给过程命名的名称,其命名规则与变量名称的规则相同。在同一模块中的过程名称不能同名。

Sub和End Sub配套出现,它们之间构成一个完整的程序过程。

过程中的代码可以放置ExitSub语句,表示提前退出过程。

通常,在VBE编辑器中,写下sub和过程名称,按下回车键后,会自动添加End Sub语句。Sub过程用来执行操作,而Function过程可以返回值,创建自定义函数。Function过程的基本语法形式为:

Function 过程名称()

[此处放置代码语句]

[过程名称= 表达式或值]

[Exit Function]

[此处放置代码语句]

[过程名称= 表达式或值]

End Function

可以看出,其形式与Sub过程的基本形式相似,只是将关键词Sub换成了Function。注意:

在Function过程的代码语句中,应至少有一次把某个确定的值赋值给函数过程的名称。

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

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

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

过程代码中可以放置ExitFunction语句,表示提前退出过程。

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

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

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过程还可以设置返回值的类型,我们将在后续逐步深入这些知识。











图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部