前言
VBA自学成柴的第一周
一、VBA is what ?
VBA is a kind of 自动化工具,excel里面勒。
二、啷个使用
打开excel,打开开发工具,然后点Visual 贝色克,如果没得开发工具勒个选项,打开左边勒文件,然后点选项,然后点自定义工作区,然后把开发工具点起,
除了勒个还要把信任中心里面的宏设置启用。现在就可以开始使用VBA写一些shit了。
三、啷个保存有VBA的表格
选择保存有宏的excel文件,豆楞个
四、啥子是变量
- 变量豆是存储数据的容器,有嘿多不同类型的变量,整数啊,字符串啊勒些,但还一种特殊的对象变量,我等哈儿要写。
- 勒哈些点变量的数据类型
数据类型 | 存储空间 | 范围 | 简写 |
---|---|---|---|
byte | 1个字节 | 0到255 | 应该没得 |
integer | 2个字节 | -32768 到 32767 | % |
long | 4个字节 | -214783648 到 2147483647 | & |
string | 10个字节加字符长度 | 0大约到20亿 | $ |
date | 8个字节 | 100年1月1日到9999年12月31日 | 应该没得 |
variant | 16个字节或22个字节 | 应该没得 |
如果设置变量的话,默认是variant格式,variant格式占用的空间较大,声明变量有利于提升效率
声明变量的格式:
dim 变量名 as 数据类型
声明多个就用,隔开就要得了
五、啥子是对象
-
在VBA里头,对象是一种特殊的数据类型,用来表示应用程序里面勒工作表,单元格,文件勒些。对象有属性和方法,勒两个我们等哈儿写。
-
对象勒表达方式
- 工作簿勒
Workbooks("工作簿名") ActiveWorkbook #活动工作簿 ThisWorkbook #代码所在的工作簿
- 工作表勒
Sheets(n) #第n个工作表,按照工作表的顺序 Sheetn #第n个工作表,按照系统工作表名,系统工作表名无论外面名字怎么更改,都是不会变的 Sheets("工作表名") #按工作表名称 ActiveSheet #活动工作表
- 单元格勒
Range("单元格地址") Cells(行,列) [A1] #单元格简写 Activecell #活动单元格 Selection #选择的区域
五、啥子是属性
-
属性是用来描述对象特征的值。例如对于Excel中的单元格勒个对象,它勒属性有行号,列号等等。可以用属性来获取对象勒状态或者特征。
-
表达方式:
就是对象名在前,属性名在后 -
常见属性:
Workbooks("工作表名").Path #显示工作表的路径
Sheets.Count #该工作簿下工作表的数量
Sheets(1).Name #工作表的名称
Range("a1").Value #a1单元格的值
ActiveCell.Address #活动单元格的地址
Range("a1").Interior.ColorIndex #a1单元格的颜色属性
五、啥子是方法
- 方法是对象间可执行的操作。通过调用对象的方法,我们可以执行特定的任务。
- 一些常见的方法
Workbooks.Add #新增工作簿
Workbooks.Open(ThisWorkbook.Path & "\" & "文件名") #打开工作簿
ActiveWorkbook.Close #关闭活动的工作簿
WorkSheets.Add.name("名字") #新增工作表
#单元格的操作
Range("a1").Activate #让a1单元格变成活动单元格
Range("a1").Copy[b1] #将a1单元格复制到b1单元格里面
Range("a1").Copy: Range("b1").PasteSpeical xlPasteValues #将a1单元格复制到b1单元格里面,只复制值
Range("a1").Delete #删除单元格
Range("a1").ClearContents #清除值,不是删除单元格,也不删除格式
Range("a1").Clear #清除所有的,包括值还有格式
Range("a1").Cut [a13] #将a1单元格移动到a13单元格
总结
引用
https://www.bilibili.com/video/BV1m14y167as/?spm_id_from=333.999.0.0&vd_source=954e393a44ae646af7e21518b8aabc12