Excel VBA之第三十二课

上次课我们学习了Sub子过程的全部基础知识,今天我们来了解一下Function子过程,这样我们可以把这两种常见的子过程学习完毕。其实还有一种属性过程(Property过程),它存在于类模块中,这个等我们以后讲到类模块的时候再说。回到今天要说的Function子过程上来,Function子过程就是我们常常被称为的自定义函数,既然是一种函数,那么不管怎样,它肯定会是返回一个结果的,想一想我们平时是怎么样使用工作表函数的。在VBA中创建的Function子过程不仅仅可以在该项目的模块内被调用,而且可以被作为工作表函数应用在工作表公式中,这种功能也是Excel的特色功能之一。

Function子过程的调用格式如下:

[Private][Public][Static] Function 过程名称([参数表])[As 数据类型]

语句块

End Function

通过Sub子过程和Function子过程的定义格式可以看出它们之间有两个区别,这里可回顾一下Sub子过程的定义格式。其一是Sub子过程中的Sub关键字被更换为Function关键字;其二是在Function子过程的首行末尾多了As语句,定义了该函数的返回值类型,如果省略该部分,函数的返回值类型为Variant。

看例子:

我们在模块1里写了一个Function子过程,用于求长方形的面积:

我们知道Sub子过程很好执行,直接点击执行按钮就行了,那么如何使用这个Function子过程呢?

1、作为工作表函数来使用:

2、作为普通子过程来用:

我们可以建立如下的过程:

运行这个Sub过程得到:

在这个例子里面,我们直接在test过程里面调用Function函数过程。

以上就是Funtion子过程的基础知识,正因为它有以上的两种用法,所以有的人也说Funtion子过程包括工作表函数过程和模块函数过程。好好消化一下~

快捷查看
(0)

相关推荐

  • SUB过程(别怕VBA)

    听过VBA代码吗?羡慕能用代码高效办公的人吧!VBA代码远没有大家想象的那么难,跟着小编学一起学吧! VBA过程就是完成某个任务所需VBA代码的有序组合.VBA中的过程包含子程序过程.函数过程和属性过 ...

  • Excel VBA之第三十四课

    大家好,从本节开始,我们正式学习Excel VBA的各种对象的各种属性.方法与事件知识,这将是你们以后编程的进阶之旅,希望好好学习~那么本节从工作簿对象的属性开始入手. 在正式学习之前,我们有必要先了 ...

  • Excel VBA之第三十五课

    大家好,上次Excel VBA课程里面我们学习了工作簿的一些通用属性,今天我们学习一个工作簿的密码属性.设置工作簿密码可以保护工作簿,以防止未经授权就查看或修改工作簿.要为工作簿添加密码,可以通过设置 ...

  • Excel VBA之第三十六课

    大家好本节我们来学习工作簿的内置属性,在Excel 2013中,我们单击左上角的文件-信息,会在该页面发现如下的文档属性: 上图包含了当前工作簿的有关信息,如作者.标题.主题.类别等,它们都属于工作簿 ...

  • Excel VBA之第三十八课

    在Excel VBA中,我们有多种方式来保存我们修改后的工作簿,其中最常见的方法是Save.SaveAs和SaveCopyAs,本节课我们讲解工作簿的Save方法. Save方法是和我们常规操作的&q ...

  • Excel VBA之第三十九课

    大家好,上节课VBA课程我们讲解了工作簿的Save方法,它是保存的意思.本节课我们介绍工作簿的SaveAs方法 ,SaveAs方法相当于Excel操作中的"另存为"命令,以指定名称 ...

  • Excel VBA之第四十二课

    大家好,今天我们来学习工作簿的工作表激活事件-SheetActivate事件.这里我们首先要知道什么叫做工作表激活,先看看这个图: 上图表示你当前操作的工作表是Sheet1,如果此时你单击了工作表Sh ...

  • Excel VBA之第五十二课

    我们继续Excel VBA系列课程,今天我们来学习一下工作表的UsedRange属性,该属性返回的是指定工作表上已使用区域的Range对象,返回的本质还是单元格对象.什么叫做已使用的单元格区域呢?想象 ...

  • Excel VBA之第六十二课

    大家好,这节课我们学习工作表的Unprotect方法,利用Worksheet对象的Unprotect方法可以取消对工作表的保护.如果用户在保护工作表时没有设置保护密码,则可以直接使用Unprotect ...

  • Excel VBA之第七十二课

    大家好,上节课我们学习了怎么用快捷方法引用单元格,本节课我们来看一下如何使用Cells属性来引用单元格.既可以使用Cells属性引用整个工作表,也可以引用某个单元格.Cells(I,j)表示第i行第j ...