目录
1 VBA里sub和function的3种调用方式
1.1 调用函数的多种写法
1.2 执行过程的多种写法
1.3 application.run
1.4 还有一种调用方法
1.5 还有一种调用方法
2 代码实测各种调用方式
2 VBA过程,函数的返回,对比python等
3 application.run 的更多用法
1 VBA里sub和function的3种调用方式
1.1 调用函数的多种写法
function()call function()
1.2 执行过程的多种写法
sub 1个参数sub 参数1 参数2(错误)call sub (1个参数)call sub (参数1,参数2)appcaiton.run sub
1.3 application.run
1.4 还有一种调用方法
就是用函数名=结果,这样给函数设定返回值VBA里没有return,可以这样返回值
并且如果多层套用这样不同于call 的调用,call只是运行了函数,并不会把自身返回值返回给上层调用他的函数,如果希望上层调用他的函数也有返回值,就需要再上层函数也写返回值,类return如下面的例子
function testf1(a,b)
test1=a+b
end function
function testf2(a,b)
tets2= testf1(a,b)
end function
1.5 还有一种调用方法
无意义的套一层是可以的本质和1.4是一样的
function testf1()
end function
function testf2()
call testf1()
end function
function testf1(a,b)
test1=a+b
end function
function testf2(a,b)
tets2= testf1(a,b)
end function
2 代码实测各种调用方式
sub / functioncall sub /functionapplication.run
Sub test1001()
Debug.Print func1001(100, 99)
test1002 11
Call test1002(11)
Call test1003(1000, 999)
Debug.Print Application.Run("test1002", 111)
End Sub
Sub test1002(m)
Debug.Print m * m
End Sub
Sub test1003(x, y)
Debug.Print x + y
End Sub
Function func1001(a, b)
func1001 = a + b
End Function
2 VBA过程,函数的返回,对比python等
python的函数一定会返回,函数带return 不带默认会返回 return noneVBA的function也是一定有返回值把,至少是noneVBA的sub 没有返回值
返回的方式不同python 的function 可以使用 return返回VBA的function 直接让 function_name = xxxx 这样返回并且VBA的sub不能返回值,sub_name=xxxx 会报错
3 application.run 的更多用法
Application.Run 的参数传递示例,测试通过-Excel VBA程序开发-ExcelHome技术论坛 -