当前位置:首页 > 办公 > Excel教程 > 正文内容

看看VBA的Sub过程和Function过程

酷网3周前 (10-08)Excel教程26

经过前面的一系列文章的示例学习,我们应该已经熟悉了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过程还可以设置返回值的类型,我们将在后续逐步深入这些知识。

扫描二维码推送至手机访问。

版权声明:本文章来源于互联网,由八酷网收集发布,如需转载请注明出处。

本文链接:https://www.i8ku.com/2021/39498.html

分享给朋友:

相关文章

怎么使用Excel去重?

怎么使用Excel去重?

  我们平时在办公的时候经常会使用到办公软件,其中Word、Excel使用的最多。大家知道怎么在Excel表格中使用去重功能吗 ?今天就让小编给大家带来一篇Excel去除重复项的教程吧...

INDEX+SMALL查询顾客消费记录

INDEX+SMALL查询顾客消费记录

问题情境 如下顾客消费样表: 能不能随意查询每个顾客的消费记录,而且随着消费记录的增多,查询结果也可自动更新? 结果如下: 公式实现 在G4单元格输入公式: =INDEX(B:B,SMALL(IF($B:$B=$G$...

在Excel表格中怎么设置主次坐标轴?

在Excel表格中怎么设置主次坐标轴?

  Excel是一款功能非常强大的表格工具,通常用于数据统计。有时候为了是数据成趋势化表现出来,往往会在表格中制作坐标数据,那就涉及到设置主次坐标轴的问题,你知道怎么设置主次坐标轴吗?...

多条件统计很简单

多条件统计很简单

1、IF函数多条件判断要求:如果部门为生产、岗位为主操  有高温补助。公式: =IF(AND(B2=”生产”,C2=”主操”),”有”,”...

3分钟就学会的9个函数,工作能省半个小时!

3分钟就学会的9个函数,工作能省半个小时!

伙伴们好啊,今天咱们分享几个常用函数公式的用法,一些看似复杂的工作,其实举手之劳即可搞定。 1. 条件查询 如下图,要从薪资标准表中,按照工号查找对应的薪资标准,一个VLOOKUP就够了。 =VLOOKUP(A2,薪资标...

推荐一个好用的Excel表格工具——方方格子

推荐一个好用的Excel表格工具——方方格子

最近不止一位朋友问合并工作表或者合并工作簿的问题。 他们按照原来的方法操作的时候,由于不熟练,有时候写错一个符号,有时候敲错一个语句,会在合并过程中出现不同的错误状况。 就想有没有现成的工具给大家用? 终于找了一款方便的...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。