VBA语言编程
方法以 Sub
开始 以 End Sub
结尾
注释符号为英文单引号 '
大小写不敏感
弹窗 MsgBox 内容
控制台(VBA叫 立即窗口 )输出 : Debug.print 内容
定义变量
Dim name AS type
定义变量名为name
的的 type
型变量
可以不写类型 Dim name
多变量可用逗号分隔 Dim A,B,C,D
变量一般都是先声明后赋值
语句
- for循环
For i = 1 To endNumber
'循环体
Next i
- if 语句
if
...
then
...
- if 下面写条件
- then后面写满足条件时执行的语句
函数
Replace(param1,param2,param3)
将字符串(param1)中的某个字符串(param2)替换为另一个(param3) 用法同java中的replace
- param1 : 原始字符串 (例 : ABCDEF)
- param2 : 要被替换的某字符串 (例 : CD)
- param3 : 替换为的字符串 (例 : 12)
- 结果 : AB12EF
Mid(String, Start, [Length])
从某位(Start) 开始截取字符串 (String) 到 某位 (length)
- String : 原始字符串(12345678)
- Start : 截取开始位 (3)
- Length : 截取停止位(6) ,可缺省, 如果缺省则为截取到最后
- 结果 : 2345
- 缺省Length结果 : 345678
Sheet1.Range("A1:D2").Copy Sheet2.Range("A1")
将sheet1中的A1到D2区域复制到Sheet2中, Sheet2以A1为开始单元格
- Range 获取单元格, 其中单元格的书写为 字母+数字 形式如 A1,D3
- 如果为了遍历方便, 可以用Cells获取Range的参数 如 : Cells(1,1).Address(False,False)则代表 A1,Cells见下一条
- Range选择区域可以用
Range("A1:D2")
也可以用 Range("A1","D2)
两者等效
Cells(row,line)
获取一个单元格, row表示行号(数字), line表示列号, 可以为数字或者字母
- Cells(1,“A”) 和 Cells(1,1) 等效, 注意 “A” 需带双引号
- Cells只能表示单个单元格, 如果想选范围用
resize(R,D)
方法,其中R为向右单元格数, D为向下单元格数
- 字符串拼接
- 用
&
连接 , 只进行拼接(数字也拼接) - 用
+
连接 , 如果是数字则进行数字的加法
- 添加单元格边框 Range(“A1:D5”).Borders.LineStyle = 1
- 给 A1 到 D5的区域添加边框(实线 细线 黑色)
- 参数列举
英文 | 数字 | 说明 |
---|
xlContinuous | 1 | 连续线 |
xlDash | -4115 | 虚线 |
xlDashDot | 4 | 交替的破折号和圆点 |
xlDashDotDot | 5 | 破折号后两个圆点 |
xlDot | -4118 | 虚线 |
xlDouble | -4119 | 双线 |
xlLineStyleNone | -4142 | 去掉边框线 |
xlSlantDashDot | 13 | 倾斜的破折号 |
![在这里插入图片描述](https://img-blog.csdnimg.cn/c12850980b904023afc5083dd3d99b48.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5YWl5Z2R55qE5bCP6I-c6bih,size_10,color_FFFFFF,t_70,g_se,x_16) | | |
- 边框颜色
- 预设值
rng.Borders.ColorIndex = 3
- RGB
rng.Borders.Color = RGB(0, 255, 0)
- rng为选择的区域
预设值(内置值)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9007d2233fbd48239c73894514192c18.png)
- 边框宽度
rng.Borders.Weight = xlThick
参数说明
英文 | 数字 | 说明 |
---|
xlHairline | 1 | 虚线 |
xlMedium | -4138 | 中等粗细 |
xlThick | 4 | 贼粗 |
xlThin | 2 | 普通细线 |
![在这里插入图片描述](https://img-blog.csdnimg.cn/bff556e6f0744590b26041551546d468.png) | | |
- 单边边框, borders 后面的括号中添加参数
rng.Borders(xlEdgeBottom).LineStyle = xlContinuous
整个区域的底部添加rng.Borders(xlInsideHorizontal).LineStyle = xlContinuous
区域内所有单元格的底部
英文 | 说明 |
---|
xlEdgeTop | 整体顶部 |
xlEdgeBottom | 整体底部 |
xlEdgeLeft | 整体左方 |
xlEdgeTop | 整体右方 |
xlInsideVertical | 区域内纵线 |
xlInsideHorizontal | 区域内横线 |
xlEdgeLeft | 右下方斜线 |
xlEdgeTop | 右上方斜线 |
![在这里插入图片描述](https://img-blog.csdnimg.cn/af665134c43b415d937a3572f408689b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yia5YWl5Z2R55qE5bCP6I-c6bih,size_8,color_FFFFFF,t_70,g_se,x_16)
- 单元格对齐方式
Selection.HorizontalAlignment = Excel.xlCenter
- 参数说明
英文 | 数字 |
---|
xlRight | 右对齐 |
xlLeft | 左对齐 |
xlCenter | 居中 |