assert函数_VBA学习-数组、过程与函数

9ea3d32bb461b6214f4cab44c1227296.png

数组声明

一维数组

Dim/Static/Private/Public([索引下界]To]索引上界)As

二维数组

Dim/Static/Private/Public(行数,列数)As

设置默认下界值

Option Base 0|1

查看数组的索引上界和下界值

下界值:LBound(数组名[,返回哪个维数的下界值])

上界值:UBound(数组名[,返回哪个维数的上界值])

数组赋值

使用循环语句初始化数组

FOR=索引下界To索引上界

=

Next循环变量

Array()函数初始化数组

Array(以英文逗号隔开的数据序列表)

使用数组值初始化数组

动态数组

声明动态数组

Dim()As

ReDim函数隐式数组声明

ReDim([索引下界]To索引上界)

每次使用ReDim后数组中的值会丢失,若要保留原有值,可使用ReDim Preserve语句扩充数组

数组清除和重定义

Erase 数组变量

f042a2ce557bcd7fe7e3d7074b7ca7f7.png

检测变量是否为数组

IsArray(变量名)

For Each数组的控件变量必须为变体

不能直接给整个数组赋值

数组中不能放置监视断点

过程创建

Sub过程

在调用子过程时,将采用按参数值(ByVal)和按地址传递(ByRef)两种方式

定义Sub过程

利用录制宏来创建

使用代码创建

[Private|Public|Friend][Static]Sub 过程名 [(要传递的参数变量列表)]

[过程语句]

[Exit Sub]

[过程语句]

End Sub

参数变量列表格式:

[Option][ByVal|ByRef][ParamArray]参数名[()][As type][=defaultvalue]

Function 函数

参数传递可采用按参数值(ByVal)和按地址传递(ByRef)两种方式

[Private|Public|Friend][Static]Function 函数名 [(要传递的参数变量列表)]

[函数语句]

[函数名=表达式]

[Exit Function]

[函数语句]

End Function

过程调用

Call语句调用子过程

Call 过程名[参数列表]

直接调用

过程名 参数列表

调用自定义函数

变量=函数名(参数列表)

过程调试

控制过程执行工具

VBE开发环境:运行菜单、调试菜单

运行:运行子过程/用户窗体

中断:Ctrl+Break

重新

控制程序执行间隔的功能

逐语句【F8】

逐过程【Shift+F8】

跳出【Ctrl+Shift+F8】

运行到光标处【Ctrl+F8】

监视

添加监视

编辑监视【Ctrl+W】

快速监视【Shift+F9】

切换断点【F9】

清除所有断点【Ctrl+Shift+F9】

调试方法

程序侵入式调试

Print过程 以Debug.Print输入立即窗口

Assert过程 以Debug.Asset 条件表达式(表达式为假时弹出警告)

变量监视

调试技巧

查看帮助文档

每个程序位置都要检查

怀疑代码错误

不做无根据判断

良好的编码风格

Property属性过程和Event事件过程

是VBA在对象功能上添加的连个过程

函数和子过程的区别

函数具有一个特定的返回值

子过程没有返回值

子过程用Sub关键字声明,函数用Function 关键字声明

常用字符串函数

Len(字符串/变量名) 返回字符数

LenB(字符串/变量名) 返回字节数

Left(字符串,长度) 返回指定字符串中从左边算起指定数量的字符

Mid(字符串,开始,[长度]) 返回指定字符串从指定位置向右指定个数字符

Right(字符串,长度) 返回指定字符串中从右边算起指定数量的字符

String(返回字符长度,字符码或字符串表达式) 生成多个重复字符

Replace(字符串表达式要替换的子字符串,要搜索的子字符串,用来替换的子字符串[,开始搜索位置[,替换次数[,判别比较方式]]]) 替换字符串

StrConv(字符串表达式,转换类型,LCID) 转换字符串类型

377c4af4038bb4d82a85449ebc850c72.png

LCase(字符串) 转换成小写

UCase(字符串) 转换成大写

StrComp(字符串1,字符串2[,比较方式]) 比较两个字符串是否相等

3821df6cb9fcaa0f8dff7bab6c55e620.png
7b21acaeef88dda94951f973e11c32d0.png

日期函数

Now() 返回计算机系统的当前日期和时间

Date() 返回计算机系统的当前日期

Time() 返回计算机系统的当前时间

Year(日期参数)、Month(日期参数)、Day(日期参数) 返回日期参数的年、月、日

Hour(时间参数)、Minute(时间参数)、Second(时间参数) 返回时间参数的小时、分钟、秒数

Weekday(日期,[指定星期类型默认以周日为第一天]) 返回日期参数的星期值

WeekdayName(日期,星期名称是否被缩写Boolean值,指定星期类型默认以周日为第一天)

日期计算

DateAdd(字符串表达式,时间间隔,日期字符串或字符串表达式) 一段时间后的日期或时间

DateDiff(字符串表达式两个日期时间间隔,第一个日期,第二个日期[,指定一个星期的第一天默认周日[,指定一年的第一周]]) 计算两个日期间的间隔

DatePart(返回的日期单位,日期[,一周的第一天[,指定一年的第一周]]) 获取指定日期在指定年的第几天、周和月

879864d7a9a26ef243cc8c1b1b6ffce6.png
a892d833f549545833e9932d393b7d7b.png

FormatDateTime(日期[,日期/时间所使用的格式]) 将日期数字转换成日期或时间格式表达式

7d534b43c89c32ae7a15563d6e7d6c04.png

清除字符串空格

LTrim(字符串或字符串变量) 清除前导空格

RTrim(字符串或字符串变量) 清除末尾空格

Trim(字符串或字符串变量) 清除字符串中的空格

字符与ASCII码转换

Asc(字符串参数) 将字符串第一个字符转换成ASCII码

Chr(ASCII码) 将ASCII码转换成对应字符

相关代码说明和实例可查询VBA开发文档 以上内容是本人自学笔记总结,欢迎指正,有关Excel的问题,可私信联系,互相交流讨论,共同进步,谢谢。部分内容和数据来自互联网,如有疑问,欢迎联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值