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基础入门知识点详解 #### 一、VBA语言基础 **1.1 标识符** - **定义**: 标识符是用于命名变量、常量、子程序等的基本元素。 - **规则**: 必须以字母开头;长度最长可达255个字符;不能包含特殊符号...
本教程"AutoCAD 2014 二次开发 VBA 基础与实例"专注于利用VBA进行AutoCAD的二次开发,适合初学者入门。VBA在AutoCAD中的应用主要体现在以下几个方面: 1. **基本概念与环境设置**:首先,你需要了解VBA的基本概念,...
VBA 基础入门 VBA 是 Visual Basic For Application 的简称,是一种应用程序开发工具,建立在 Office 中。学习 VBA 的目的是为了对 Excel 进行二次开发,自定义和扩展 Excel 的功能。 什么是 VBA? VBA 是一种...
### EXCEL_VBA基础入门详解 #### 一、引言 在日常工作与学习中,Excel作为一款强大的数据处理工具,其高效性和灵活性深受广大用户的喜爱。然而,对于那些需要复杂逻辑处理或者自动化任务的需求,Excel内建的功能...
[《Excel.VBA基础入门》配套光盘].Ptpress.iso[《Excel.VBA基础入门》配套光盘].Ptpress.iso
### Excel VBA基础入门:揭开自动化办公的神秘面纱 #### 什么是VBA?为什么要学习VBA? VBA,即Visual Basic for Applications,是Microsoft Office套件中的编程语言,特别适用于自动化Excel、Word等应用程序的...
本压缩包包含的“EXCEL VBA基础入门示例文件”旨在帮助初学者理解并掌握VBA的基础知识。 1. **VBA简介** - VBA是Visual Basic的子集,专为应用程序开发而设计,如Microsoft Office套件。 - 它允许用户通过编写...
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
这个资料为Excel VBA基础入门教材光盘资料内容,仍然可以单独作为Excel VBA基础入门学习的辅助学习资料。
Excel VBA基础入门,VBA,VBA开发者参考资料。
Microsoft Office 2000 VBA基础(分为二部份)
VBA 基础入门知识点总结 在 Excel 中,VBA 是一个非常强大的工具,它可以帮助我们自动化许多重复的任务,提高工作效率。但是,对于初学者来说,VBA 的代码可能看起来像外星文一样难以理解。因此,本文将从基础开始...
vba 基础 VBA(Visual Basic for Applications)是 Microsoft 公司开发的一种应用程序编程语言,广泛应用于微软 Office 软件包中的 Excel、Word、PowerPoint 等应用程序中。本篇文章将详细讲述 VBA 的基础知识,...
以下是一些关于VBA基础知识的关键点: 1. **Excel中的公式使用**:VBA允许用户在代码中使用公式,就像在单元格中那样。例如,你可以直接通过VBA代码对单元格进行运算,如`Val(x) + 1`,这会提取范围`x`的值并加1。 ...
在“VBA基础”文件中,你可能进一步学习到: 11. **高级话题**:如类模块(Class Modules)的概念,面向对象编程的基础,以及如何创建和使用自定义对象。 12. **文件操作**:如何读写文本文件、CSV文件,甚至与...
### VBA基础入门知识点详解 #### 一、什么是VBA?为什么学习VBA? - **定义**:VBA,即Visual Basic for Applications,是一种由微软公司开发的应用程序开发工具,集成于Microsoft Office套件(包括Excel、Word等...
Excel VBA 基础教程 Excel VBA 基础教程旨在为初学 VBA 应用提供指导,帮助初学者快速掌握 VBA 的基础知识。VBA(Visual Basic for Applications)是一种通用的自动化语言,由微软开发,旨在使应用程序自动化。 ...