Excel_VBA常用对象
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Workbook对象和 Workbooks集合
例4:新建工作表
Sub 新建工作表1() Worksheets.Add before:=Sheet1 End Sub
Sub 新建工作表2() Worksheets.Add after:=Sheet4, Count:=2 End Sub
Count 可选。要新建的工作表的数目。默认值为 1。
Worksheet.Name 属性:返回或设置一个 String 值, 它代表对象的名称
Worksheet对象和 Worksheets集合
常用方法:
Worksheets.Add 方法:新建工作表。新建的工作表 将成为活动工作表
Worksheets.Copy 方法:将工作表复制到工作簿的另
一位置
Application.Caption="My Application" Application.Caption="Microsoft Excel” ?Application.Path
Excel Application.Quit
Application 对象
ActiveSheet 属性 返回活动工作表。如果没有活动的工作表,则返回 Nothing。 Sub 活动工作表() Debug.Print "当前活动工作表是:"; Application.ActiveSheet.Name End Sub
ActiveSheet.UsedRange
不仅包括有数据的区域,还包括曾经用过的区域 以所有用过区域的中最上行最左列和最下行最右列围成 一个工作表只有一个用过区域 如果没有用过任何单元格,则已用区域为A1单元格
引用特殊区域(三)
引用活动单元格
Range("B5").Activate
Set <变量或属性名> = {[New] <对象表达式>|Nothing}
Workbook对象和 Workbooks集合
例2 打开工作簿用Open方法: Workbooks.Open (“D:\Test.xls”) 即打开D盘根目录中的Test.xls 工作簿。
Worksheet对象和 Worksheets集合
Workbook对象和 Workbooks集合
例5:保存工作表 Sub 保存工作表() ActiveWorkbook.SaveAs Filename:="D:\第一个 保存工作表.xlsx" End Sub
Workbook对象和 Workbooks集合
例6:重命名工作表 Sub 重命名工作表() Sheets(1).Select Sheets(1).Name = "hello" End Sub
3
使用Application对象
Application对象的常用属性 获取对象的引用
ActiveWorkbook属性 ActiveSheet属性 ActiveCell属性 Workbooks属性 Sheets属性 Cells属性 Selection属性 WorksheetFunction属性
单元格和区域的操作
求数据区末尾列号: c = Range("A1").End(xlToRight).Column '求A1单元格数据区末尾列号 c = Cells(1, 1).End(xlToRight).Column '求A1单元格数据区末尾列号 c = Cells(1, 256).End(xlToLeft).Column '求第1行数据区末尾列号 c = Rows(1).End(xlToRight).Column '求第1行数据区末尾列号
Excel VBA
怎样引用区域
目录
●引用一个单元格 ●引用一个区域 ●引用整行 ●引用整列 ●引用所有单元格 ●引用相对位置单元格 ●引用特殊区域(一) ●引用特殊区域(二) ●引用特殊区域(三)
引用一个单元格
举例:引用单元格B5
[B5]
直接写地址,没有引号,无法循环
Range("B5")
Workbooks.Add
由 Add 方法返回的Workbook 对象分配给对象变量 NewBook。然后,对 NewBook进行操作。
Set NewBook = Workbooks.Add
NewBook.SaveAs Filename:="Test.xls"
Set语句语法形式:
New创建对象的一个新实例。 Nothing释放该对象资源。
利用Rows(行)集合
举例:引用第一到第三行
[1:3] Range("1:3") Rows("1:3")
引用整列
举例:引用A列(第一列)
[A:A] Range("A:A") Columns(1)
利用Columns(列)集合
Columns("A")
举例:引用A到C列(第一到第三列)
Workbook对象和 Workbooks集合
Workbook 对象:代表一个 Microsoft Excel 工作簿
Workbooks 对象:Microsoft Excel 应用程序中当前 打开的所有 Workbook 对象的集合
Workbook.Name 属性:它代表对象的名称
Workbook.FullName 属性:返回对象的名称(以字 符串表示),包括其磁盘路径 Workbook.Sheets 属性:返回一个 Sheets 集合,它 代表指定工作簿中所有工作表
Worksheets.Delete 方法:删除对象
Worksheets(工作表).Activate方法:激活工作表
Workbook对象和 Workbooks集合
例3 激活工作表(激活工作簿中的Sheet1工作表) Worksheets("Sheet1").Activate 或 Worksheets(1).Activate
ຫໍສະໝຸດ Baidu
Workbook对象和 Workbooks集合
Workbooks.Add 方法:新建工作簿,新建的工作簿 将成为活动工作簿。
Workbooks.Open 方法 :打开一个工作簿
Workbooks.Close 方法:关闭对象
Workbook对象和 Workbooks集合
例1 创建一个新的工作簿。
[AA].Value = 30
相对引用区域
相对引用
将位于活动工作表上活动单元格下1行和右3列 的单元格设置为双下划线格式。 ActiveCell.Offset(1, 3).Font.Underline = xlDouble
单元格和区域的操作
求数据区末尾行号: r = Range("A1").End(xlDown).Row '求A1单元格数据区末尾行号 r = Cells(1, 1).End(xlDown).Row '求A1单元格数据区末尾行号 r = Range("A65536").End(xlUp).Row '求A列数据区末尾行号 r = Cells(65536, 1).End(xlUp).Row '求A列数据区末尾行号 r = Columns(1).End(xlDown).Row ‘求A列数据区末尾行号
只能用于活动工作表
引用当前选区
ActiveCell.CurrentRegion
引用偏移区域
Range("B5:D10").Offset(2,1)
引用C7:E12,偏移地址可正可负,默认为0,偏移地
址先行后列
引用命名区域
引用命名区域
将当前工作表中名为“AA”的单元格区域内容设置 为30。
Workbook对象和 Workbooks集合
例7:复制和删除工作表 Sub 复制和删除工作表() Sheets(1).Name = "原始表" Sheets("原始表").Copy before:=Sheets("原始表") Sheets(1).Name = "副本1" Sheets("原始表").Delete End Sub
[A:C] Range("A:C") Columns("A:C")
引用所有单元格
引用所有单元格
Cells
利用Cells(单元格)集合
Range(Cells(1, 1), _ Cells(Cells.Rows.Count, Cells. Columns.Count))
从第一行第一列到最后一行最后一列
引用所有行
Rows
利用Rows(行)集合
引用所有列
Columns
利用Columns(列)集合
引用特殊区域(一)
引用多个区域
[B5:D10, A1:C9]
可以多个区域
Range("B5:D10, A1:C9,…")
逗号在引号内部
可以有多个Range型参数
Union(Range("B5:D10"),Range("A1:C9"))
起止地址分别用引号括起来,中间用逗号连接
Range(Range("B5"),Range( "D10"))
Range嵌套
Range(Cells(5, 2), Cells(10, 4))
Range与Cells混合
引用整行
举例:引用第一行
[1:1] Range("1:1") Rows(1)
实例
编程序,打印九九乘法表如下。
实例
编程序,打印九九乘法表如下。
Excel VBA
常用对象
Application 对象
Excel对象模型的层次结构。
2
使用Application对象
Application对象代表整个Microsoft Excel应用程序 本身,所有打开的工作簿都是属于一个Excel应用程 序,即一个Application对象。 通过Application对象提供的属性和方法,可控制 Excel应用程序的外观和状态。
Worksheet 对象:代表一个工作表 Worksheets 对象:指定的或活动工作簿中所有 Worksheet 对象的集合 常用属性
Worksheet.Cells 属性 :返回一个 Range 对象,它代 表工作表中的所有单元格(不仅仅是当前使用的单元 格)。
Worksheet.Columns 属性:返回一个 Range 对象, 它代表活动工作表中的所有列
引用交叉(公共)区域
Intersect(Range("B5:D10"),Range("A1:C9"))
可以有多个Range型参数
引用特殊区域(二)
引用当前区域
Range("B1").CurrentRegion
当前区域是以空行和空列围成的区域 任何一个区域都有自己所属的当前区域
引用已用区域
地址为字符串,可行循环,但书写麻烦
Cells(5, "B")
先行后列,行地址为数字,列地址为字符串,无法引
用区域
Cells(5,2)
地址为数字,先行后列,行列都可循环,无法引用
区域
引用一个区域
举例:引用区域B5:D10
[B5:D10]
地址用冒号连接
Range("B5:D10") Range("B5", "D10")
4
使用Application对象
VBA操作 获取当前应用程序名称 立即窗口输入 ?Application.Name
将 Excel 应用 程 序 标 题 改 为“My Application” 将 Excel 应用 程 序 标 题 改 回为“Microsoft Excel” 获取Excel.exe保存的文件 夹路径 退出