ByVal or ByRef:
在VBA中,过程的传参方式有两种,按值或按引用。
如果按引用,即传递的是传入参数的地址,那么在过程中对参数的修改会反映到参数本身
如果按值,则会拷贝一份,那么在过程中对参数的修改不会反映到调用者
vba中默认是按地址传递。
Sub语法:
[Private | Public] [Static] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
函数语法:
[Public | Private][Static] Function name [(arglist)] [As type]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function
'函数可以返回结果,而sub不能
Sub test_sub()
MsgBox "Hello World!"
Call test_func '如果只是调用函数,不接收返回值,则用call,否则必须用一个变量来接收
ret = test_func()
MsgBox ret
End Sub
Function test_func()
Debug.Print "test_func enter..."
test_func = 123 ' 一个函数必须要有返回值,且给函数设置返回值的方式就是将函数名作为变量,并赋值
End Function
Sub test_dim()
'变量可以不用显式声明,直接拿来用(这点和python,perl类似),但不声明变量类型时,默认是variant类型
g = 1
g = "123"
MsgBox g
'声明一个变量h,并限制它为Integer类型
' h As Integer
' h = 5
'dim用于声明变量,可以设置变量类型,并且dim修饰的变量的范围为 词法范围
Dim a
Dim b As String
Dim c, d
Dim e As String, f As Integer
End Sub
Sub test_scope()
MsgBox g
End Sub
Sub test_type()
Dim i As Integer
Dim s As String
Dim l As Long
Dim si As Single
Dim d As Double
Dim de As decimals
Dim b As Boolean
Dim by As Byte
Dim v As Variant
Dim c As Currency
Dim da As Date
Dim o As Object
End Sub
' sub 的修饰符
'private, 只有本模块下的过程可访问
'public,本工程下的所有模块均可访问
'static,在调用sub时,保存中间变量
Sub test_exit()
MsgBox 1
Exit Sub
MsgBox 2
End Sub
' 过程参数的 语法
' [Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type][= defaultvalue]
'Optional后面的参数都是可选的, Optional 与 ParamArray 在参数列表中互斥
Function add(a, b)
add = a + b
End Function
' 两种函数调用方式
Sub test_func()
add 1, 2
Call add(1, 2)
End Sub
分享到:
相关推荐
[《Excel.VBA基础入门》配套光盘].Ptpress.iso[《Excel.VBA基础入门》配套光盘].Ptpress.iso
VBA基础入门excel,
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
excel_VBA基础入门
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
EXCEL_VBA基础入门
Excel VBA基础入门,VBA,VBA开发者参考资料。
Microsoft Office 2000 VBA基础(分为二部份)
赵志东编写<EXCEL VBA基础入门>,蓝版,VBA学习入门的一书好书,我喜欢
VBA基础知识
资源名称:excel vba基础入门第二版内容简介:《Excel VBA基础入门(第2版)》在安排内容时,充分考虑到大多数初学者几乎没有编程基础的实际情况,在文字表述方面尽量避开专业术语,用通俗易懂的语言,引导读者进入...
基础性的,容易看懂的. Excel VBA基本的内容.程序示例较多.
系统的讲述了vba基础语法和例子
vba例子基础vba例子基础vba例子基础vba例子基础vba例子基础
非常详细的Excel VBA 基础入门知识,对于初学者来说是最好的选择。
VBA基础入门。 VBA是Visual Basic For Application的简称,具体说来,可能三天三夜也说不完,知道VBA是建立在Office中的一种应用程序开发工具,其实知道这也就够了。
VBA入门教程适合对VBA不是很熟悉,本教程可以帮助你很好的学习VBA的应用,可以很好的excel中宏的制作
Exce基础教程基础教程VBA 基础教程