VBA对象
VBA变量数据类型
防止范围超出数据溢出或冗余
格式:dim 变量名 as 数据类型
Dim n As Byte
Dim n As interger
简写: Dim n%
#数据大超过就要更改数据类型
string 就是一段字符:所有一切(汉数字)
#申明和输入一定要一至(申明string后输入数字就会以文本形式存在,同理于excel)
没有申明数据类型,可以节约内存空间,不会冗余,浪费计算资源
多个变量可以用,
隔开
对象
工作簿
工作表
单元格
工作簿
workbooks("工作簿1.xlsm") //代表工作簿
[B1] = Workbooks("工作簿1.xlsm").Name
//吧工作簿的名字给了b1单元格
活动工作簿
正在操作的工作簿就是活动工作簿(效果同上)
[c1] = ActiveWorkbook.Name
工作表
工作表的初识
Sheets (1) //按工作表排序
#工作表中的第1个叫sheet1(进行操作)
Sheet1 //按系统工作表名
先去找在系统工作表(列表)中找到自己对应sheet的名字,再把对应的名字打出来(没有sheet4)
工作表的操作
Sheets("日日").Delete //"日日"这个表就被删除了
活动工作表:
ActiveSheet 正在操作的工作表就是活动工作表
MsgBox ActiveSheet.Name
#吧正在操作的活动工作表弹出来(取决于你定位在哪一个工作表)
单元格
B1四中单元格表达方式:
range("单元格地址")
range("B1")
例子:range("B1")=2 //把2的值付给B1
Cells(行,列)
例子:Cells(1,2)#表示B1单元格
Cells(1,2)=2
[B1] //单元格简写
#= 表示赋值
Activecell 活动单元格(正在操作的单元格)
ActiveCell.Interior.Color = 3 //表示黑市
range还可以表示一整行,一整列,一个区域
range("B1:C2")=付值 、、
range("B:B").select //选中第B列
range("10:10").select //选中第10行
range的方法(做法)
格式:
对象.属性
父对象.子对象.属性
Range("a1").Value \\a1单元格的值
MsgBox Range("B6").Value //我门给表个填了什么内容
①workbooks("工作簿1.xlsm").Path
②MsgBox Workbooks("工作簿1.xlsm").Path //工作簿的路劲用消息框弹出来
也可凡在单元格中:
[B1] = Workbooks("工作簿1.xlsm").Path
MsgBox Sheets.Count
Sheets.Count//sheets表示多个工作表的集合,count计数
[B1] = Sheets(1).Name
[B2] = Sheets("haha").Name
#两个相等同
单元格的颜色属性:
Range("d4").Interior.ColorIndex
magbox Range("d4").Interior.ColorIndex //得出颜色的对应数字
改变颜色的值:
Range("d4").Interior.ColorIndex=1
修改工作表名:
Sheets("haha").Name = "jjj"//把jjj字符串赋值给了sheet的 名称(name)属性
活动单元格的地址
Activecell.Address
通过消息框弹出来:
Activecell.Address
MsgBox ActiveCell.Address //鼠标定位的单元格
父对象.子对象.属性
thisworkbook.sheet(3).range("a1").interior.colorindex=6 //指定位置赋值
方法:
工作簿
# //新增工作簿(批量生成):
Workbooks.Add
# 打开工作簿
Workbooks.Open ("C:\Users\Administrator\Desktop\VBA\VBA考勤工作簿2.xlsx")
另一种打开:通过thisworkbook的路劲打开
Workbooks.Open (ThisWorkbook.Path & "\" & "VBA考勤工作簿2.xlsx")
//ThisWorkbook.Path表示单签路径下相同文件夹中的文件
也可做二段写:
a = ThisWorkbook.Path
Workbooks.Open (a & "\" & "VBA考勤工作簿2.xlsx")
#关闭活动工作簿:
ActiveWorkbook.Close
Workbooks.Add
ActiveWorkbook.Close//泛指打开关闭最近工作簿(调试看)
#新郑工作表:
Worksheets.Add
一般在新增工作表中命名:
Worksheets.Add.name="卡通袜"
#把新增工作表同时复制现在表内容粘贴在这张表
ThisWorkbook.Sheets("无").Copy ActiveWorkbook.Sheets(1)
//把这张无复制一份在当前的工作表上
单元格
# 单元格变成活动单元格
Range("b1").Activate
#把a1单元格复制到b1单元格
Range("a2").Copy [b1](全复制)
#(仅复制和粘贴值):
(两行)
Range("a1").Copy
Range("C8").PasteSpecial xlPasteValues
(一行用:隔开)
Range("a1").Copy:Range("C8").PasteSpecial xlPasteValues
#删除:删除下面数据向上顶替上去
Range("a1").Delete
#清除:单元格中的(所有)内容
Range("a1").Clear
#清除:单元格中的值(保留格式字体颜色):
Range("a1").ClearContents(颜色还有)
//可以通过录制代码宏的形式去吸收(录制宏获取代码动作)
# 剪切
range("a1").cut[a13]