VB 怎么 在自定义函数中,返回多个值?请举例说明

如:传值过去一个半径,通过调用子程序返回,它的周长和面积!按钮1单击_click(****):call子程序print周长,面积endsubsubsubN(.....)*... 如:传值过去一个半径,
通过调用子程序返回,它的周长和面积!
按钮1单击_click(****):
call 子程序
print 周长,面积
end sub
sub subN(.....)
***********
end sub
请严格按题 回答
我要的是 子程序的 返回值 。最好在VB下测试 通过。
返回值不要自己分割,要返回来就是两个值,且,不在定义公同变量的前提下。因为这题被网友采纳了,
@sysplay 我的描述清楚了吗?其它也不是说Msgbox 这样就能出值,
就好像是 Funtion子过程那样的。带返回值 ,但要是多个值返回,不是单个值
还能MsgBox 周长 & " " & 面积 这样调用
如果不明白的,可以私信我
展开
 我来答
sysplay
2015-05-03 · TA获得超过1155个赞
知道小有建树答主
回答量:663
采纳率:86%
帮助的人:531万
展开全部
Sub 按钮1_Click()

    Dim 周长 As Double, 面积 As Double, 半径 As Double

    周长 = 0

    面积 = 0

    半径 = 15#

    Call SubN(周长, 面积, 半径)

    MsgBox 周长 & " " & 面积

End Sub

Sub SubN(ByRef 周长参数, ByRef 面积参数, ByVal 半径参数)

    If 半径参数 < 0 Then

        周长参数 = 0

        面积参数 = 0

    Else

        周长参数 = 2 * 3.14 * 半径参数

        面积参数 = 3.14 * 半径参数 * 半径参数

    End If

End Sub

 以上代码是在Excel的VBA中调试的,可以满足的要求。

更多追问追答
追问
可以不带参数吗后面两个参数吗?只传递过去一个半径值
引用时,
msgbox subN(r) 就能得到结果
追答

如果只是要msgbox subN(r)就能得到结果:

Sub 按钮1_Click()
    Dim 半径 As Double
    半径 = 15#
    MsgBox SubN(半径)
End Sub
Function SubN(ByVal 半径参数) As String
    Dim 周长参数 As Double, 面积参数 As Double
    周长参数 = 0
    面积参数 = 0
    If 半径参数 < 0 Then
        周长参数 = 0
        面积参数 = 0
    Else
        周长参数 = 2 * 3.14 * 半径参数
        面积参数 = 3.14 * 半径参数 * 半径参数
    End If
    SubN = "周长=" & 周长参数 & "  " & "面积=" & 面积参数
End Function
ckt29
推荐于2017-11-27 · 超过16用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:20.2万
展开全部
不定义全局变量,根本不可能做到的你的要求。
你用Sub就必须要定义全局公有变量。
★:专业定制各种小软件,小型数据管理操作系统
★:包售后 1 年(不含新增功能),6×18小时服务。实时解决问题!
更多追问追答
追问
是可以的啊
你看仔细看我题目。以前用过的,但就是想不起来。
不用定义变量,也不用像1楼那样的形貌返回的。
追答

我以6年的VB程序员经验告诉:

    没有!


@评论者  自定义类型也是要全局定义的啊?不是吗?


我好像知道你的意思了。是这样吧

Private Type mytype
    c As Double
    s As Double
End Type

Private Function SubN(r As Double) As mytype
    SubN.c = 2 * 3.14 * r
    SubN.s = 3.14 * r ^ 2
End Function

Private Sub Command1_Click()
    MsgBox SubN(6).s
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式