VB 怎么 在自定义函数中,返回多个值?请举例说明
如:传值过去一个半径,通过调用子程序返回,它的周长和面积!按钮1单击_click(****):call子程序print周长,面积endsubsubsubN(.....)*...
如:传值过去一个半径,
通过调用子程序返回,它的周长和面积!
按钮1单击_click(****):
call 子程序
print 周长,面积
end sub
sub subN(.....)
***********
end sub
请严格按题 回答
我要的是 子程序的 返回值 。最好在VB下测试 通过。
返回值不要自己分割,要返回来就是两个值,且,不在定义公同变量的前提下。因为这题被网友采纳了,
@sysplay 我的描述清楚了吗?其它也不是说Msgbox 这样就能出值,
就好像是 Funtion子过程那样的。带返回值 ,但要是多个值返回,不是单个值
还能MsgBox 周长 & " " & 面积 这样调用
如果不明白的,可以私信我 展开
通过调用子程序返回,它的周长和面积!
按钮1单击_click(****):
call 子程序
print 周长,面积
end sub
sub subN(.....)
***********
end sub
请严格按题 回答
我要的是 子程序的 返回值 。最好在VB下测试 通过。
返回值不要自己分割,要返回来就是两个值,且,不在定义公同变量的前提下。因为这题被网友采纳了,
@sysplay 我的描述清楚了吗?其它也不是说Msgbox 这样就能出值,
就好像是 Funtion子过程那样的。带返回值 ,但要是多个值返回,不是单个值
还能MsgBox 周长 & " " & 面积 这样调用
如果不明白的,可以私信我 展开
2个回答
展开全部
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
展开全部
更多追问追答
追问
是可以的啊
你看仔细看我题目。以前用过的,但就是想不起来。
不用定义变量,也不用像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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询