Excel与VBA简单操作
在最近的工作中遇到很复杂的Excel的处理,仅仅用公式根本无法完成,百度搞了一天多,现在记录一下用到的语法;以防以后忘记,不喜勿喷。
1. Excel和VBA
1.1 vba如何编写
1、首先打开Excel,右键点击sheet,选择查看代码,可以打开Excel编写代码的页面,语言采用vba语言
2、如下图,为编辑器页面的介绍
1.2 代码同文件的保存
当我们完成代码逻辑之后,保存并推出,会发现代码并没有保存,这是因为Excel默认额.xlsx
格式不允许保存代码;如果想吧代码一起板寸,我们可以将文件另存为启用宏的文件,启用宏的文件后缀有(.xlsm
、.xltm
、.xlam
)
1.3 修改该文档格式后引发的保存提示
当我们修改启用宏以后,无论保存代码还是保存文件内容,都会出现很多提示;我们要怎么关闭他们呢???
- 点击
文件 --> 选项
- 进入设置选择
信任中心 -> 信任中心设置
- 取消
保存时从文件属性中删除个人星系
,然后保存。
2. VBA语法
2.1 变量声明及赋值
声明格式为:
Dim 变量名称 As 变量类型
例如:
Dim i As Integer // 声明一个数字变量
Dim str As String // 声明一个字符串变量
i = 3 // 数字赋值
str = "hello world!"// 字符串赋值
VBA数据类型:
数据类型 | 定义符号 | 简写 | 备注 |
---|---|---|---|
字符串 | String | $ | |
整型数字 | Integer | % | -32768~32767 |
长整型数字 | Long | & | -2147483648~2147483647 |
单精度浮点型数字 | Single | ! | 精度为6 |
双精度浮点型数字 | Double | # | 精度为14 |
日期型 | Date | yyyy/m/d | |
布尔型 | Boolean | ||
变体型 | Variant | 万用的类型,尽量避免使用 | |
对象型 | Object | 没有深究 | |
枚举型 |
枚举类型数据定义格式:
Public|Private Enum 变量名
成员1[=常数表达式1]
成员1[=常数表达式1]
··· ···
End Enum
例如:
Public Enum WorkDays
星期日
星期一
星期二
星期三
星期四
星期五
星期六
End Enum
2.2 if-else结构
If bool Then
// 代码...
ElseIf ······ Then
// 代码...
Else
// 代码...
End If
2.3 循环结构
// while循环
Do While ······
// 代码...
Loop
// for循环
For i = 0 To 100 Step 1
// 代码...
Exit For // 跳出循环
Next i
2.4 注释
VBA里的单行注释以单引号’标识
3. 常用功能
3.1 获取表格数据
Sheets('sheet名') // 获取表格的sheet对象
Sheets(i) // 获取第i个sheet表格对象
Sheet1.Rows(i) // 获取表格中第i行数据
Sheet1.Columns(j) // 获取表格中第j列数据
Sheet1.Range("a1:b60") // 获取表格中一块数据
Sheet1.UsedRange.Rows.Count // 获取sheet表中已用行数
Sheet1.UsedRange.Columns.Count // 获取sheet表中已用列数
ActiveWorkbook.Worksheets.count // 获取当前Excel的sheet表格的个数
ActiveSheet.Index // 获取当前sheet表的位置