sub和function和sub的区别

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 10092|回复: 4
在ASP中sub 与function 所声明的变量有何不同?
UID88在线时间 小时积分1303帖子离线17066 天注册时间
银牌会员, 积分 1303, 距离下一级还需 1697 积分
是存活量还是使用范围???
UID60在线时间 小时积分9301帖子离线17066 天注册时间
一样,在sub,function中声明的变量只在sub/function内可见
UID88在线时间 小时积分1303帖子离线17066 天注册时间
银牌会员, 积分 1303, 距离下一级还需 1697 积分
那&!--#include file= xxx.asp--&复制代码引入的网页里的变量,能被本页面里
的程序再次调用吗???
UID60在线时间 小时积分9301帖子离线17066 天注册时间
定义在sub/function外的是模块(页面)级变量,可以在页面的任何地方调用
UID92355在线时间 小时积分402帖子离线17066 天注册时间
中级会员, 积分 402, 距离下一级还需 98 积分
function和sub 都是定义变量的。他们都有自己的作用域
变量的作用域即生命期,决定哪些脚本命令可访问变量。在过程内部声明的变量具有局部作用域。每执行一次过程,变量就被创建然后消亡。而过程外部的任何命令都不能访问它。在过程外部声明的变量具有全局作用域,其值能被 ASP 页上的任何脚本命令访问和修改。声明变量时,局部变量和全局变量可以有相同的名称。而改变其中一个的值并不会改变另一个的值。如果没有声明变量,则可能不小心会改变一个全局变量的值。
Powered byVBA中Sub与Function的不同_中华文本库
第1页/共1页
VBA中Sub与Function的不同
1、Sub过程不能返回一个值,而Function可以返回一个徝。
2、Sub过程可作为Excel中的宏来调用,而Function函数不会出现在“选择宏”对话框中,要在工作表中调用Function函数,可像使用Excel内部函数一样。
3、在VBA中,Sub过程可作为独立的基本语名调用,而Function函数通常作为表达式的一部分。
调用Sub过程
1、用call语名调用Sub过程
call 过程名(过程参数列表)
2、将过程作为一个语句
call test(a,b)
可改写为:
3、以宏方式调用Sub过程
调用Function
1、在工作表中调用
自定义Function函数和系统内置函数一样,可以在作表的公式中引用。
2、在VBA代码中调用
像内部函数一样调用
sub test()
dim t as long
t=mysum(1,3,8)
debug.print t
将函数作为表达式的一部分
t=t+ mysum(1,3,8) * 3
在代码中也可像调用Sub过程一样,直接输入函数名称,后面跟上参数(参数不能用括号)
mysum 1,3,8
第1页/共1页
寻找更多 ""查看: 25618|回复: 34
我谈function和sub的区别
阅读权限50
在线时间 小时
& & & & & & & &
刚刚有资格进入进阶讨论区,遇上罗刚君的“开发一个批量改名的自定义函数”的帖子,实际上是以函数的名义完成了不返回值,而只完成动作(功能)的子过程功能。
其特点是:舍弃了返回值功能,搭上了自定义函数调用接口(便车),完成了“传统”sub子过程的功能
可谓是有舍有弃,有借重,有贬抑的一种编程风格
---------------------------------------------------------------
个人认为function和sub最大区别在两点
1.function可以返回值,sub则不可以返回值
2.sub可以直接执行,但function需要调用才可以执行
明白了这两点也就可以解决上面提到的矛盾了
1.如果需要过程名(function或sub的名字)能返回值,则必用function
2.如果需要直接执行(F5或链接到按钮控件),那么就要用sub了
3.其他情况可以根据个人爱好解决了
罗总是想在自定义函数中调用,则可以用function的,而且应该用function
以上是个人意见仅供参考
---------------------------------------------------------------
以下是罗版的视频,以帮助不能进进阶研讨区的坛友了解来龙去脉
——————————————————————————
公式改名.gif (485.23 KB, 下载次数: 52)
23:40 上传
[ 本帖最后由 zhaozyuan 于
23:50 编辑 ]
阅读权限50
在线时间 小时
& & & & & & & &
既然function可以“越俎代庖”,那么sub也可以“鸠占鹊巢”,完成有参数输入、无返回值的function功能,可见依然是只有上面那两点主要区别,我平时也是sub与function混用的。以下是一例:
sub test()
sub Madd(byval a,byval b)
with activesheet
& &.[a1]=a+b
&&msgbox&&.[a1]
阅读权限95
在线时间 小时
呵呵,还没进去过进阶讨论区
阅读权限50
在线时间 小时
& & & & & & & &
原帖由 来生缘 于
23:52 发表
呵呵,还没进去过进阶讨论区
我也是刚刚得到一点威望值 才可以进去的
阅读权限50
在线时间 小时
来个混合应用的例子
Sub testfn()
ad = 改名(&st&, &你好&)
Function 改名(ByVal 原始名, ByVal 新名)
On Error GoTo errhdl
st原始 原始名
st新名 新名
Sheets(原始名).Name = 新名
Exit Function
MsgBox Err.Description
End Function
Sub st原始(ByVal 原始名)
& & On Error GoTo errhdl
& & Sheets(原始名).Select
& & Exit Sub
& & MsgBox &当前工作簿不存在名为& & 原始名 & &的工作表&
Sub st新名(ByVal 新名)
& & On Error GoTo errhdl
& & Sheets(原始名).Select
& & Exit Sub
& & MsgBox &当前工作簿不存在名为& & 新名 & &的工作表,可以进行重命名操作&
[ 本帖最后由 zhaozyuan 于
00:11 编辑 ]
阅读权限30
在线时间 小时
很强:victory: 学习了
阅读权限100
在线时间 小时
sub 和 Function就一个EAX处理方式的区别。
阅读权限30
在线时间 小时
看来我还没资格来进行讨论呀.
阅读权限95
在线时间 小时
学习一下,谢谢分享。
阅读权限70
在线时间 小时
原帖由 joforn 于
13:52 发表
sub 和 Function就一个EAX处理方式的区别。
大师给解释下哈哈
最新热点 /1
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师Excel 我谈function和sub的区别_百度知道查看: 557|回复: 8
想那个了。
如题,请热心的坛友帮帮忙.
SUB AX,BX 的结果是 AX-BX SBB AX,BX 的结果是 AX-BX-CF(进/借位标志) 用例:将DX:AX中存放的32位无符号数减去BX内的16位无符号数 SUB AX,BX ;结果的低16位,如果AX小于BX将产生借位,导致CF=1 SBB DX,0 ;高16位-CF,若前一步出现借位,则据此...
飞利浦照明
dec是自减运算符,与C语言的i--差不多 dec esp的速度比sub esp,1快一点
1,AX等于268aH, 2,cmp只是把两数相减然后改变标志位,没有存结果,而sub不但要改变标志位,还要把结果保存在被减数里, CF最高位进位标志,SF是符号位吧,ZF是溢出标志位,OF我忘记了,年代太久了,可以查下资料, 标志位就是根据标志指令的运...
天上的仙女美
Private Sub一般 在类中使用,用了private,该过程装无法在派生类及派生对象中直接调用 SUB在如果是放在类中就是public.是公用过程.可以在派生类和对象中直接调用.也可以放在类的外边,那么就只是一个普通的过程,任何对象都可以调用该过程
返回值可以给其它变量赋值,比如有这么一个函数: function test(a,b) test = a * b end function a = 12 b = 14 c = test(a, b) 这里的变量c就是函数处理后的结果,也就是 12×14 的值,你可以在程序中继续使用变量c进行其它运算。 PS: TO喜庆旺...
1楼的朋友说得有点麻烦,其实解释起来也比较容易。 1.意义上的区别: cmp属于加减运算的范畴,而test属于逻辑运算的范畴 2.概念上的区别 cmp与sub类似,即从目的操作数减去源操作数,但sub会将运算结果送至目的操作数,而cmp不会送至目的操作数...
骑上单车去旅行
既然知道学的垃圾,就加把劲了。
我来说说详细点: sub和function的区别 SUB和FUNCTION有什么不同呢,他们的语法应该怎么构成? Sub:过程;Function:函数,可以带返回值 语法: SubSubName(参数1,参数2,...) .... EndSub FunctionFunctionName(...

我要回帖

更多关于 vb sub function区别 的文章

 

随机推荐