Excel 我谈function和sub的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel 我谈function和sub的区别相关的知识,希望对你有一定的参考价值。
个人认为function和sub最大区别在两点:1.function可以返回值,sub则不可以返回值;
2.sub可以直接执行,但function需要调用才可以执行;
使用时:
1.如果需要过程名(function或sub的名字)能返回值,则必用function;
2.如果需要直接执行(F5或链接到按钮控件),那么就要用sub了; 参考技术A function 是一个过程,不能直接当宏使用,function直接可以相互调用实现完整的一个function,但最终功能实现在Excel上只能通过sub调用而实现,而sub可以直接使用。而且sub之间可以相互调用。function可以返回值,sub则不可以返回值,两者都可以使用参数,不过sub使用参数了,只能当function来使用 参考技术B 在Excel中,function可以接受参数,而sub不支持参数。
不过function可以接受空参数(optional可选参数),实现与sub一样的功能。本回答被提问者采纳 参考技术C function函数允许带个返回值
sub过程只是一段执行过程,不能带返回值
VB.sub过程和function过程的区别
function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有
function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值。
Sub 过程与Function 过程的区别:
- Sub 过程定义时无需定义返回值类型
- Function 过程一般需要用“As 数据类型” 定义函数返回值类型。
VB有两大类过程——事件过程和通用过程;
通用过程又分:
- 函数过程(Function过程)又称自定义函数过程、
- 子过程(Sub过程)
在表达式中调用时一定要用函数过程,否则一般用子过程
function 可以用自身名字返回一个值,自带的函数功能是一样的 例如:inputbox
sub 需定义别的变量,用传址方式传回值。例如:msgbox
Sub 过程与Function 过程的区别:
1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” as子句决定函数过程返回值
的 类型,如果忽略As子句,则函数过程的类型为变体型
2. Sub 过程中没有对过程名赋值的语句,而Function 过程中一定有对函数名赋值的语句。
3. 调用过程:调用 Sub 过程与 Function 过程不同。调用 Sub 过程的是一个独立的语句,而调用函数过程只
是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,
Sub 过程也可以修改传递给它们的任何变量的值。
4. 调用 Sub 过程有两种方法:
以下两个语句都调用了名为 MyProc 的 Sub 过程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号
3. 调用过程:调用 Sub 过程与 Function 过程不同。调用 Sub 过程的是一个独立的语句,而调用函数过程只
是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,
Sub 过程也可以修改传递给它们的任何变量的值。
4. 调用 Sub 过程有两种方法:
以下两个语句都调用了名为 MyProc 的 Sub 过程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号
以上是关于Excel 我谈function和sub的区别的主要内容,如果未能解决你的问题,请参考以下文章