目录
- 1 取得VBA对象
- 1.1 取得工作簿对象
- 1.2 取得工作表对象
- 1.3 取得单元格对象
- 1.4 取得对象的属性
- 1.5 文档的方法1
进入vba 界面
方式之一:
快捷键:ALTER+F11
运行方式之一:
进入vba界面,点击绿色三角符号
1 取得VBA对象
1.1 取得工作簿对象
Sub Test()'把当前工作簿的名称赋值给单元格A1'testvba.xlsm 只能是当前工作簿的名称[a1] = Workbooks("testvba.xlsm").Name'把活动工作簿的名称赋值给单元格A2[a2] = ActiveWorkbook.Name'把当前工作簿的名称赋值给单元格A3[a3] = ThisWorkbook.Name
End Sub
下面是执行结果
1.2 取得工作表对象
默认sheet名称是Sheet1
新建一个sheet,名称是Sheet2
新建一个sheet,并改名称为:testsheet
新建一个sheet,删除掉
新建一个sheet,并改名称为:abc
最终得到下图的结果
'取得上面4个工作表的名称
Sub Test()'方式1[a1] = Sheet1.Name[a2] = Sheet2.Name[a3] = Sheet3.Name[a4] = Sheet5.Name'方式2[b1] = Sheets(1).Name[b2] = Sheets(2).Name[b3] = Sheets(3).Name[b4] = Sheets(4).Name'方式3[c1] = Sheets("Sheet1").Name[c2] = Sheets("Sheet2").Name[c3] = Sheets("testsheet").Name[c4] = Sheets("abc").Name'方式4 活动工作表的名称[a5] = ActiveSheet.Name
End Sub
下面是执行结果
1.3 取得单元格对象
'取得单元格对象
Sub Test()'方式1 单元格A1,赋值文字“方式1”[a1] = "方式1"'方式2 3是第3行,1是第1列 单元格A3,赋值文字“方式2”Cells(3, 1) = "方式2"'方式3 当前选择的单元格,赋值文字“方式3”ActiveCell = "方式3"'方式4 单元格A2,赋值文字“方式4”Range("a2") = "方式4"'方式5 选中Excel的D列Range("d:d").Select'方式5-1 选中第10行'Range("10:10").Select'方式6 选中一个区域e2:g5,填充颜色红色Range("e2:g5").Interior.ColorIndex = 3
End Sub
选择c14单元格,然后执行代码,下面是执行结果
1.4 取得对象的属性
'取得对象的属性
Sub Test()'取得所有sheet的数量[a1] = Sheets.Count'取得第一个sheet的名称[a2] = Sheets(1).Name'取得当前选中的单元格的地址[a3] = ActiveCell.Address'取得本excel的文档路径[a4] = ThisWorkbook.Path'取得A1单元格的值[a5] = Range("a1").Value'选择当前excel的第3个sheet的a1:b10区域,填充颜色为50的颜色'ThisWorkbook.Sheets(3).Range("a1:b10").Interior.ColorIndex = 50
End Sub
选择单元格A1后,执行代码,下面是执行结果
1.5 文档的方法1
01 新建工作簿
Sub Test()
'新建工作簿
Workbooks.Add
'Workbooks.Add.Name = "test.xlsx" 可以修改新工作簿的名称
'新工作簿的第一个sheet的名称修改为add
ActiveWorkbook.Sheets(1).Name = "add"
'新工作簿的第一个sheet的单元格a3的值修改为abc
ActiveWorkbook.Sheets(1).Cells(3, 1) = "abc"
'添加一个sheet
ActiveWorkbook.Sheets.Add
'新sheet修改名称为add2
ActiveWorkbook.ActiveSheet.Name = "add2"
'第一个sheet作为活动sheet
ActiveWorkbook.Sheets("add").Activate
'关闭新工作簿
ActiveWorkbook.Close
End Sub
执行结果:
02 打开工作簿
Sub Test()
'打开一个工作簿
Workbooks.Open ("D:\Jerry\Documents\工作簿4.xlsx")
'关闭这个打开的工作簿
ActiveWorkbook.Close
End Sub
执行时一闪而过,因为文档被打开后,立马又被关闭了。如果F8,逐行代码运行,则可以看到工作簿被打开。