大家好,又见面了,我是你们的朋友全栈君。
Excel之VBA简单宏编程
excel是一款很经典的数据分析的工具,里面包含了很多内置函数,但实际情况有时却复杂得多,而excel的宏编程提供了自定义函数的功能,正好有老师需要帮忙做一些数据分析,就学习了一下,下面是我的学习笔记。本人使用的是excel2013。有出入的地方可以参考。
文章目录 - Excel之VBA简单宏编程
- 1、准备工作
- 2、VBA编程
- 2.1模块声明
- 2.2变量声明及赋值
- 2.3if-else结构
- 2.4循环结构
- 2.5比较运算符
- 2.6注释
- 3、常用功能
- 3.1获取表格数据
- 3.2复制单元格且保留原单元格列宽
- 3.3设置单元格、某一行或某一列颜色
- 3.4获取表格有用列数和有用行数
- 4、调试运行
- 1、准备工作
- 2、VBA编程
- 2.1模块声明
- 2.2变量声明及赋值
- 2.3if-else结构
- 2.4循环结构
- 2.5比较运算符
- 2.6注释
- 3、常用功能
- 3.1获取表格数据
- 3.2复制单元格且保留原单元格列宽
- 3.3设置单元格、某一行或某一列颜色
- 3.4获取表格有用列数和有用行数
- 4、调试运行
1、准备工作
- 打开开发工具面板(excel的主选项卡默认是没有开发工具选项卡的)
文件->选项->自定义功能区->
这时候主选项卡就有开发工具项了
- 进入vba编辑
点击visual basic进入
在VBAProject上右键->插入->模块 出现一个编辑文件如下图
然后就可以在这里写入vba代码。
2、VBA编程
2.1模块声明
类似于一个程序,一个模块要有一个主程序入口即模块声明,如
Sub sname() ··· ··· End Sub
2.2变量声明及赋值
声明格式为:
Dim ‘变量名称’ As ‘变量类型’
如
Dim i As Integer Dim str As String
赋值格式为:
i = 3
str = “hello world!”
直接等号赋值
数据类型 | 定义符号 | 备注 |
---|---|---|
字符串 | String | |
整型数字 | Integer | -32768~32767 |
长整型数字 | Long | -2147483648~2147483647 |
单精度浮点型数字 | Single | 精度为6 |
双精度浮点型数字 | Double | 精度为14 |
日期型 | Date | |
布尔型 | Boolean | |
变体型 | Variant | 万用的类型,尽量避免使用 |
对象型 | Object | 没有深究 |
枚举型 |
枚举类型数据定义格式: Public|Private Enum 变量名 成员1[=常数表达式1] 成员1[=常数表达式1] ··· ··· End Enum 例如: Public Enum WorkDays 星期日 星期一 星期二 星期三 星期四 星期五 星期六 End Enum
2.3if-else结构
代码语言:javascript复制If ······ Then
  ······
ElseIf ······ Then
  ······
Else
  ······
End If
2.4循环结构
代码语言:javascript复制Do While ······
  ······
Loop
For i = 0 To 100 Step 1
  ······
Next i
跳出for循环可以用 Exit For
2.5比较运算符
名称 | 运算符 |
---|---|
等于 | = |
不等于 | <> |
小于 | < |
小于等于 | <= |
大于 | > |
大于等于 | >= |
字符串匹配 | Like |
2.6注释
VBA里的单行注释以单引号'
标识
3、常用功能
3.1获取表格数据
- 获取第i行j列单元格数据
Sheets(‘表格名’).Cells(i,j).Value
- 获取第i行数据
Sheets('表格名').Rows(i)
- 获取第j列
Sheets('表格名').Columns(j)
- 获取一块
Range("a1:b60")
3.2复制单元格且保留原单元格列宽
代码语言:javascript复制Sheets(name_1).Cells(i, k).copy
Sheets(name_result).Cells(i,k).PasteSpecial xlPasteColumnWidths
3.3设置单元格、某一行或某一列颜色
代码语言:javascript复制Sheets(name_1).Rows(i).Interior.ColorIndex = 3'
Sheets(name_1).Rows(i).Font.ColorIndex = 1
Sheets(name_1).Cells(i,j).Interior.ColorIndex = 3'
Sheets(name_1).Cells(i,j).Font.ColorIndex = 1
3.4获取表格有用列数和有用行数
代码语言:javascript复制irows1 = Sheets(name_1).UsedRange.Rows.Count
icolumns1 = Sheets(name_1).UsedRange.Columns.Count
4、调试运行
快捷键 | 功能 |
---|---|
F8 | 逐语句运行 |
Shift F8 | 逐过程运行 |
Ctrl F8 | 运行到光标处 |
F9 | 光标处添加断点 |
调试->添加监视 | 添加监视 |
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130843.html原文链接:https://javaforall.cn