VBS sub和function的问题,请大神给出具体的代码实例,并讲解下function的返回值到底是怎么返回的?

我知道sub是过程没有返回值,function是函数且有返回值,但还是理解不了,另外小弟写了如下的代码SubDim a,bSub c(a,b)a&... 我知道sub是过程没有返回值,function是函数且有返回值,但还是理解不了,另外小弟写了如下的代码Sub
Dim a,b
Sub c(a,b)
a = 2
b = 3
End Sub
Function d(s,e)
Call c(a,b)
If a>b Then 
MsgBox ("haha")
Exit Function 
Else 
MsgBox ("正确")
End If
End Function 
MsgBox d(s,e) '如果把这个Msgbox去掉,就不会弹出 msgbox("正确")这个对话框,请问这是为什么?
最主要想问的就是,上面的sub  c(a,b),写的是c(a,b),为什么在function中可以用d(s,e)中来和sub 中的c(a,b)对应那?请详情解答,先谢过大神
不要告诉我SUB没有返回值,function有返回值,一个是过程一个是函数,这个我知道,请详细最好是有一个实例来解答,最好是写上怎么调用sub 和function的
展开
 我来答
tianqing20wen

2014-08-10 · TA获得超过2.4万个赞
知道大有可为答主
回答量:8226
采纳率:88%
帮助的人:5331万
展开全部
'首先不管是sub还是function也好,都不会自己执行代码。都需要调用
'而c(a,b)或者d(s,e) 就是调用过程 和调用函数的代码 括号内为代入的参数
'举个例子
Sub c(a,b) '自定义过程c有2个参数a,b
    a=a+1 'a=3+1
    b=b+2 'b=4+2
End Sub
c(3,4) '调用过程c 将3和4作为参数代入到过程里参与运算,使得参数内的a,b初始值为3和4
'==============================上面是a程序里 下面是B程序里 只是给你举例 
function c(a,b) '自定义函数c有2个参数a,b
    a=a+1 'a=3+1
    b=b+2 'b=4+2
    c=a+b 'c=4+6=10 '将运算结果赋值给函数作为函数返回值
End Sub
msgbox c(3,4) '弹出对话框 内容为10
purseexciteh
2014-08-05
知道答主
回答量:22
采纳率:0%
帮助的人:13.7万
展开全部
n是函数且有返回值,但还是理解不了,另
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式