《Excel-VBA常用对象.ppt》由会员分享,可在线阅读,更多相关《Excel-VBA常用对象.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ExcelVBA常用对象nExcel对象模型的层次结构。2Application 对象pApplication对象代表整个MicrosoftExcel应用程序本身,所有打开的工作簿都是属于一个Excel应用程序,即一个Application对象。p通过Application对象提供的属性和方法,可控制Excel应用程序的外观和状态。使用Application对象3pApplication对象的常用属性n获取对象的引用pActiveWorkbook属性pActiveSheet属性pActiveCell属性pWorkbooks属性pSheets属性pCells属性pSelection属性pWork
2、sheetFunction属性使用Application对象4使用Application对象VBA操作操作立即窗口输入立即窗口输入获取当前应用程序名称?Application.Name将Excel应用程序标题改为“My Application”Application.Caption=My Application将Excel应用程序标题改回为“Microsoft Excel”Application.Caption=Microsoft Excel”获取Excel.exe保存的文件夹路径?Application.Path退出Excel Application.QuitApplication 对象nA
3、ctiveSheet属性p返回活动工作表。如果没有活动的工作表,则返回Nothing。Sub活动工作表()Debug.Print当前活动工作表是:EndSubWorkbook对象和 Workbooks集合nWorkbook对象:代表一个MicrosoftExcel工作簿nWorkbooks对象:MicrosoftExcel应用程序中当前打开的所有Workbook对象的集合nWorkbook.Name属性:它代表对象的名称nWorkbook.FullName属性:返回对象的名称(以字符串表示),包括其磁盘路径nWorkbook.Sheets属性:返回一个Sheets集合,它代表指定工作簿中所有工
4、作表nWorkbooks.Add方法:新建工作簿,新建的工作簿将成为活动工作簿。nWorkbooks.Open方法:打开一个工作簿nWorkbooks.Close方法:关闭对象Workbook对象和 Workbooks集合Workbook对象和 Workbooks集合p例1创建一个新的工作簿。Workbooks.Addn由Add方法返回的Workbook对象分配给对象变量NewBook。然后,对NewBook进行操作。SetNewBook=Workbooks.AddNewBook.SaveAsFilename:=Test.xlsnSet语句语法形式:Set=New|NothingpNew创建对
5、象的一个新实例。pNothing释放该对象资源。Workbook对象和 Workbooks集合p例2打开工作簿用Open方法:Workbooks.Open(“D:Test.xls”)即打开D盘根目录中的Test.xls工作簿。Worksheet对象和 Worksheets集合pWorksheet对象:代表一个工作表pWorksheets对象:指定的或活动工作簿中所有Worksheet对象的集合p常用属性nWorksheet.Cells属性:返回一个Range对象,它代表工作表中的所有单元格(不仅仅是当前使用的单元格)。nWorksheet.Columns属性:返回一个Range对象,它代表活动
6、工作表中的所有列nWorksheet.Name属性:返回或设置一个String值,它代表对象的名称p常用方法:nWorksheets.Add方法:新建工作表。新建的工作表将成为活动工作表nWorksheets.Copy方法:将工作表复制到工作簿的另一位置nWorksheets.Delete方法:删除对象nWorksheets(工作表).Activate方法:激活工作表Worksheet对象和 Worksheets集合Workbook对象和 Workbooks集合p例3激活工作表(激活工作簿中的Sheet1工作表)Worksheets(Sheet1).Activate或Worksheets(1)
7、.ActivateWorkbook对象和 Workbooks集合p例4:新建工作表Sub新建工作表1()Worksheets.Addbefore:=Sheet1EndSubSub新建工作表2()Worksheets.Addafter:=Sheet4,Count:=2EndSubpCount可选。要新建的工作表的数目。默认值为1。Workbook对象和 Workbooks集合p例5:保存工作表Sub保存工作表()ActiveWorkbook.SaveAsFilename:=D:第一个保存工作表.xlsxEndSubWorkbook对象和 Workbooks集合p例6:重命名工作表Sub重命名工作
8、表()Sheets(1).Select Sheets(1).Name=helloEndSubWorkbook对象和 Workbooks集合p例7:复制和删除工作表Sub复制和删除工作表()Sheets(1).Name=原始表Sheets(原始表).Copybefore:=Sheets(原始表)Sheets(1).Name=副本1Sheets(原始表).DeleteEndSubExcelVBA怎样引用区域目录引用一个单元格引用一个区域引用整行引用整列引用所有单元格引用相对位置单元格引用特殊区域(一)引用特殊区域(二)引用特殊区域(三)引用一个单元格p举例:引用单元格B5nB5p直接写地址,没有引
9、号,无法循环nRange(B5)p地址为字符串,可行循环,但书写麻烦nCells(5,B)p先行后列,行地址为数字,列地址为字符串,无法引用区域nCells(5,2)p地址为数字,先行后列,行列都可循环,无法引用区域引用一个区域p举例:引用区域B5:D10nB5:D10p地址用冒号连接nRange(B5:D10)nRange(B5,D10)p起止地址分别用引号括起来,中间用逗号连接nRange(Range(B5),Range(D10)pRange嵌套nRange(Cells(5,2),Cells(10,4)pRange与Cells混合引用整行p举例:引用第一行n1:1nRange(1:1)nR
10、ows(1)p利用Rows(行)集合p举例:引用第一到第三行n1:3nRange(1:3)nRows(1:3)引用整列p举例:引用A列(第一列)nA:AnRange(A:A)nColumns(1)p利用Columns(列)集合nColumns(A)p举例:引用A到C列(第一到第三列)nA:CnRange(A:C)nColumns(A:C)引用所有单元格p引用所有单元格nCellsp利用Cells(单元格)集合nRange(Cells(1,1),_Cells(,Cells.Columns.Count)p从第一行第一列到最后一行最后一列p引用所有行nRowsp利用Rows(行)集合p引用所有列nC
11、olumnsp利用Columns(列)集合引用特殊区域(一)p引用多个区域nB5:D10,A1:C9p可以多个区域nRange(B5:D10,A1:C9,)p逗号在引号内部nUnion(Range(B5:D10),Range(A1:C9)p可以有多个Range型参数p引用交叉(公共)区域nIntersect(Range(B5:D10),Range(A1:C9)p可以有多个Range型参数引用特殊区域(二)p引用当前区域nRange(B1).CurrentRegionp当前区域是以空行和空列围成的区域p任何一个区域都有自己所属的当前区域p引用已用区域nActiveSheet.UsedRangep
12、不仅包括有数据的区域,还包括曾经用过的区域p以所有用过区域的中最上行最左列和最下行最右列围成p一个工作表只有一个用过区域p如果没有用过任何单元格,则已用区域为A1单元格引用特殊区域(三)p引用活动单元格nRange(B5).Activatep只能用于活动工作表p引用当前选区nActiveCell.CurrentRegionp引用偏移区域nRange(B5:D10).Offset(2,1)p引用C7:E12,偏移地址可正可负,默认为0,偏移地址先行后列引用命名区域p引用命名区域将当前工作表中名为“AA”的单元格区域内容设置为30。AA.Value=30相对引用区域p相对引用n将位于活动工作表上活
13、动单元格下1行和右3列的单元格设置为双下划线格式。ActiveCell.Offset(1,3).Font.Underline=xlDouble单元格和区域的操作p求数据区末尾行号: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列数据区末尾行号单元格和区域的操作p求数据区末尾列号: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行数据区末尾列号实例p编程序,打印九九乘法表如下。实例p编程序,打印九九乘法表如下。
限制150内