Excel VBA中怎么设置Function
发布时间:2022-04-06 06:26:08
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过程还可以设置返回值的类型,我们将在后续逐步深入这些知识。
猜你喜欢
- win10更新不动如何处理?目前,Win10系统推出也快有一年了,相信不少朋友已经升级到了Win10系统,最近有用户反馈,Win10系统在更
- 使用Win8.1系统的时候遇到桌面卡死,不能点击,想切换程序吧,点击任务栏的程序图标也没有反应,关于这个问题的解决方法如下所示有的朋友在使用
- 一说起QQ邮箱,相信大家应该都不陌生吧,它是腾讯旗下的一款邮箱应用软件,为用户提供安全、稳定、快速的电子邮件服务,高效便捷的邮箱通讯录受到大
- 按照我国半导体产业发展规划看,存储芯片是最优先的,而紫光占据了这股发展力量的主力,去年7月,他们参与了长江存储科技有限责任公司的投资,这是个
- 苹果系统重装和Windows系统一样吗?肯定是不一样的。一些刚接触苹果系统用户可能还不清楚苹果笔记本系统怎么重装。苹果笔记本电脑有初始化ma
- win11打字一直延迟怎么办?很多小伙伴在使用win11系统的时候,打字出现了延迟的情况,不清楚Win11打字一直延迟怎么办,小编为小伙伴带
- 如何暂停Windows Insider预览版本更新?win10预览版默认是自动更新的,但是如果你对快速更新和错误崩溃较多的预览版本已经感到疲
- 一些用户反馈说盗版的iWork 09中含有木马病毒,不少用户都已经中招了,那么该如何清除这个木马病毒呢?今天小编就为大家来讲解下这个技巧。修
- 在日常的数据处理中,经常会有需要将一列数据复制粘贴到另一列中,如下图所示,要求把I列的数字批量粘贴到E列相对应的单元格中去,E列是合并了的单
- 接下来就教大家如何设置这个效果,有需要的朋友进来学习咯!①启动Excel2013,选中B2:D8区域,单击菜单栏–开始–条件格式–新建规则。
- 从设计角度,不是只有静态的可视化元素需要具有某种一致的对齐方式,以便让内容之间产生视觉关联,动画也需要某种“对齐”方式,但这应该是动画过程的
- 有win10用户反映自己发现桌面图标出现了蓝底,越看越不舒服,有什么办法可以去除吗?当然是有的,下面小编就给大家演示一下win10系统电脑桌
- PS是一个神奇的图像处理软件,其中抠图是PS的一大功能。对于简单的图片,相信很多朋友都会抠,那么对于一些半透明的图片呢,比如婚纱,水花,玻璃
- 目前有一些将 iPhone 升级到 iOS 14 的用户发现,手机上会出现应用闪退、在使用应用时卡死等问题。出现这类问题一般是与应用不适配、
- 在Excel中经常录入好数据之后就需要计算数据,其中计算平方较为常用,如果不懂的朋友可以学习,下面给大家分享excel表格使用函数公式计算平
- 在Excel表格中有成千上万行和列需要调整到适合的单元格,需要怎么操作呢?今天我们来学习一下。1、首先选择我们需要处理的单元格,选择【开始】
- 最近,win7系统使用了一台电脑时,发现电脑开机提示Windows无法加载用户的配置文件,用户不知道如何解决这个问题,对此非常苦恼,那么wi
- 在WPS中经常需要插入图片来使文档更加美观,对于已经插入到wps文档的图片,我们可以通过修改其位置和大小来使文档布局更加合理,下面是小编为大
- 你遇到过Cortana小娜无法搜索Win32桌面应用程序的问题吗?本来在Win10用户的心中,万能的Cortana小娜是可以搜索到任何想要的
- 如何在Excel中使用ABS函数,其实ABS函数是用于返回某一参数的绝对值。例如:已知A、B的身高,计算出A与B之间的身高差是多少。操作步骤