VBA知识框架
2016-10-11 20:23:29 0 举报
AI智能生成
VBA基础知识—part1
作者其他创作
大纲/内容
常用方法、函数 禁止(恢复)屏幕刷新
禁止弹出警告对话框 : application.displayalerts = false
禁止(恢复)屏幕刷新
Application.ScreenUpdating = False
Application.ScreenUpdating = true
定义变量格式: format(变量名,格式)
批量填充: 需填充的目标区域.FormulaR1C1 = "填充的内容"或指定单元格的值
设置单元格数值格式 目标区域.NumberFormatLocal = "相应代码"
遍历函数: dir 路径 [& "\" & "*.xlsx"]
基本概念
宏
通过录制宏查看代码,可查看一些不知道代码的功能如何实现
对象
单元格
表示方式: [2,1] [a1] range("a1") range("a1","d5") range("a2:d5") cells(2,3)
行:rows(1)表示第一行 ; 列: columns(1) 表示第一列
activecell 表示活动单元格
行:rows(1)表示第一行 ; 列: columns(1) 表示第一列
activecell 表示活动单元格
单元格基础操作
选择: 需选择的区域.select
删除单元格: 需选择的区域.delect
清除
清除全部:目标区域.clear
单元格内容:目标区域.clearcontents
单元格格式:目标区域.clearformats
插入: 区域.insert shift:=xldown
省略inserti后面的内容则默认为活动单元格向下移动
移动(剪切,粘贴操作)
初始区域. cut range(目标区域的初始单元格)
复制-粘贴
初始区域.copy range(目标区域的起始单元格)
查找
查找范围.find("查找的内容",)
返回的是区域
工作表worksheet
activeworksheet sheets("sheet1") sheets("工作表名") sheets(N)
常用操作
新增工作表 : worksheets.add
删除工作表: 目标工作表.delete
重命名: 目标工作表.name="新工作表名"
移动: 目标工作表.move before,after
复制: 目标工作表.copy before,after
工作簿workbooks
表达方式: workbooks(序号) workbooks("工作簿名") thisworkbook activeworkbook
常用的操作
新建: workbooks.add
获取工作簿所在的文件路径: thisworkbooks.path
可应用到同路径工作簿打开关闭,后面通过连接符 && "文件名"可指定打开或保存到同路径的指定文件
保存: activeworkbooks.SaveAs 路径 & "\文件名.xlsx"
对于非第一次保存和不是需要另存为的文件,可直接 activebooks.save 相当于ctrl+s
打开: workbooks.open 路径 文件名
关闭: activebooks.close
.close 1 保存并关闭
.colse 0 不保存并关闭
删除: kill 路径&文件名
集合
属性
方法
元素
常量
变量
数据类型
整型“%”
单精度数值“!”
双精度数值“#”
字符型“$”
对象型“as……”
常用运算
算术运算
+、-、*、\、mod、^
连接运算符
&、+
比较运算符
=,<>,<,>,<=,>=
like
通配符
逻辑运算符
基础语句
区域定位的方法
常规定位:[a1:d5] 、range("a1","d5")、
偏移定位
基准单元格.offset(行数,列数)
偏移,基准位置为(0,0),下正上负,右正左负
基准单元格.resize(行数,列数)
以基准单元格为(1,1)坐标选择一定区域
整行、整列
整行:基准单元格.entirerow
整列:基准单元格.entirecolumn
并集区域 union(rng1,rng2,...)
选择不相邻,没有交集的两个区域
可应用于筛选,然后将不相邻的区域聚合
交集区域 intersect(rng1,rng2,..)
求区域的交集,两个区域必须存在交集
动态单元格区域
DO条件结合
基准单元格.currentregion
获取边界单元格
单元格.end (xldown/xlup/xlleft/xlright)
分别获取基准单元格向下,向上,向左,向右的非间断的单元格
分别获取基准单元格向下,向上,向左,向右的非间断的单元格
工作表.usedrange
条件判断语句
IF……Then……ELSE……ENDIF
适用于简单分支判断、多重嵌套判断
IIF函数(和if函数用法相同)
用的较少,适用于简单结果处理
select case
用于多平行条件判断
循环语句
FOR...NEXT循环
for...each...in...next
do...loop循环
函数使用
引用工作表函数
worksheetFunction.f(x)
vba函数
vba.f(x)
数组
定义
dim arr(1 to 2,1 to 10,…) as ……
redim preserve arr(1 to n)
0 条评论
下一页