Excel VBA 函数返回值

这篇博客介绍了Excel VBA中定义Sub过程和Function函数的方法,并探讨了如何调用这些过程和函数,特别是关于函数返回值的处理。通过官方文档和实例代码,解释了直接调用与使用圆括号调用的区别,以及函数返回值的获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Excel VBA 函数返回值

Sub 定义一个过程

VB的函数定义格式与C有很大区别:
格式:

Sub 过程名(参数列表 ... )
	过程体
End Sub

Function 定义一个函数

官方文档 🚀 Microsoft Docs | 编写 Function 过程

Function 函数名(参数列表 ... )
	函数体
	函数名 = 返回值
End Function

实例代码

Sub Main() 
 temp = Application.InputBox(Prompt:= _ 
 "Please enter the temperature in degrees F.", Type:=1) 
 MsgBox "The temperature is " & Celsius(temp) & " degrees C." 
End Sub 
 
Function Celsius(fDegrees) 
 Celsius = (fDegrees - 32) * 5 / 9 
End Function

调用Sub过程或者Function函数

调用函数时,有两种形式:

  1. 可以直接将参数放在函数名后,英文逗号 ‘,’ 作为参数分隔符,不需要加圆括号。
    此种调用方式,将舍弃函数返回值。
Sub Main() 
 MultiBeep 56 
 Message 
End Sub 
 
Sub MultiBeep(numbeeps) 
 For counter = 1 To numbeeps 
 Beep 
 Next counter 
End Sub 
 
Sub Message() 
 MsgBox "Time to take a break!" 
End Sub
  1. 使用类c语言的方式,参数后加圆括号,用以包含参数。
Sub Main() 
 Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3") 
 HouseCalc 99800, 43100 
 Call HouseCalc(380950, 49500) 
End Sub 
 
Sub HouseCalc(price As Single, wage As Single) 
 If 2.5 * wage <= 0.8 * price Then 
 MsgBox "You cannot afford this house." 
 Else 
 MsgBox "This house is affordable." 
 End If 
End Sub
  1. 函数名前,可加Call关键字,亦可省略。

References:

Microsoft Docs | Calling Sub and Function procedures

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值