上一篇文,我们初步了解了VBA,现在我们进入Excel应用篇。
我们都知道,我们日常工作中操作数据的表,我们称之为工作表,就是我们常见的sheet,而多张sheet组成了工作簿。熟悉Excel函数的小伙伴应该都知道,我们经常会使用很多跨表工具,比如Vlookup等。这些函数能够在不同的工作表之间处理数据,甚至在不同的工作簿之间处理数据
而在VBA层面使用的是Workbooks和Workbook对象专门用来处理工作簿。
我们首先来看下Workbooks集合的常用属性
Workbooks集合的常用方法
Workbook对象常用的属性和方法
Workbook对象的常用方法
引用工作簿
Workbooks指当前打开的所有工作簿
ActiveWorkBook.name
ThisWorkBook.name
'这两句代码的作用相同,都是返回当前打开的工作簿的内容
下边我们来通过几个小程序看一下
1.新建一个工作簿
首先打开vbe,可以通过快捷键Alt+F11或Fn+Alt+F11.当然前提是Excel选项里勾选了开发者选项。如果没有勾选或者不会的请自行Google
打开以后的效果如下
Sub 新工作簿()
'新增一个工作簿
Workbooks.Add
'显示新增工作簿的名称
MsgBox ActiveWorkbook.Name
End Sub
当然如果想批量建工作簿,可以使用For Next语句循环操作
Sub 新建多个工作簿()
Dim wb As String, count As Integer
'提醒用户输入想要新增的工作簿
wb = InputBox("请输入想要新建的工作簿的数量:")
'判断输入的是否是数
If IsNumeric(wb) Then
'遍历每个数字
For count = 1 To wb
'新增一个工作簿
Workbooks.Add
'继续执行下一个
Next count
'跳出循环
End If
'通过msgbox显示出程序的执行结果
MsgBox "一共创建了" & count & "个工作簿!"
End Sub
打开工作簿
WorkBooks.Open
Sub open_()
'打开一个指定的文件
Workbooks.Open "E:taobaoad_feature.csv"
'提示程序已经执行结束
MsgBox "工作簿已经打开完成"
End Sub
工作簿的操作还有其他的保存,和关闭操作,这里就不继续展开了。
使用Worksheet 对象处理工作表
同样的对于工作表的操作可能我们更熟一点,比如工作表的新建,打开,移动,隐藏等等操作。
Worksheets集合的常用属性和方法
Worksheet对象的常用属性和方法
获取工作表的类型
在使用Activatesheet引用工作表,或者使用Sheets集合引用工作表时,在执行后续操作的时候应该事先判别当前操作表格是否是sheet类型。这是因为Chart不包含表格,执行某些操作的时候可能会报错
有两种类型的对象
xlWorksheet和xlChart
新建工作表
使用add来新建sheet
Add(Before,After,Count,Type)
小程序--新建一个文件
Sub New_Sheet()
Worksheets.Add after:=Worksheets(Worksheets.count)
'这句话是在现有的表的(原有2个表)基础上新建2个表
End Sub
重命名工作表
Sub Rename()
'把sheet1改名为vba
Worksheets("sheet1").Name = "vba"
MsgBox "改名成功"
End Sub
移动和复制工作表
(1)移动工作表
ActiveSheet.Move after:=Worksheets(Worksheets.count)
(2) 复制工作表
ActiveSheet.Copy before:=Worksheets(Worksheets.count)
隐藏工作表
在excel界面操作的时候,我们一般会右键单击表名,然后点击隐藏
而在vba中
Worksheets.Visible = xlSheetVisible
'工作表可见
Worksheets.Visible = xlSheetHidden
'工作表隐藏
Worksheets.Visible = xlSheetVeryHidden
'深度隐藏工作表
删除工作表
Worksheets(Array(1,3,5)).Delete
因为工作表和工作簿的操作相对来讲比较简单,所以这里不做深入!
下一篇,我们来重点看一看对于单元格的操作!!