ExcelVBA常用对象Excel对象模型的层次结构。2Application对象Application对象代表整个MicrosoftExcel应用程序本身,所有打开的工作簿都是属于一个Excel应用程序,即一个Application对象。通过Application对象提供的属性和方法,可控制Excel应用程序的外观和状态。使用Application对象3Application对象的常用属性获取对象的引用ActiveWorkbook属性ActiveSheet属性ActiveCell属性Workbooks属性Sheets属性Cells属性Selection属性WorksheetFunction属性使用Application对象4使用Application对象VBA操作立即窗口输入获取当前应用程序名称?Application.Name将Excel应用程序标题改为“MyApplication”Application.Caption=MyApplication将Excel应用程序标题改回为“MicrosoftExcel”Application.Caption=MicrosoftExcel”获取Excel.exe保存的文件夹路径?Application.Path退出ExcelApplication.QuitApplication对象ActiveSheet属性返回活动工作表。如果没有活动的工作表,则返回Nothing。Sub活动工作表()Debug.Print当前活动工作表是:;Application.ActiveSheet.NameEndSubWorkbook对象和Workbooks集合Workbook对象:代表一个MicrosoftExcel工作簿Workbooks对象:MicrosoftExcel应用程序中当前打开的所有Workbook对象的集合Workbook.Name属性:它代表对象的名称Workbook.FullName属性:返回对象的名称(以字符串表示),包括其磁盘路径Workbook.Sheets属性:返回一个Sheets集合,它代表指定工作簿中所有工作表Workbooks.Add方法:新建工作簿,新建的工作簿将成为活动工作簿。Workbooks.Open方法:打开一个工作簿Workbooks.Close方法:关闭对象Workbook对象和Workbooks集合Workbook对象和Workbooks集合例1创建一个新的工作簿。Workbooks.Add由Add方法返回的Workbook对象分配给对象变量NewBook。然后,对NewBook进行操作。SetNewBook=Workbooks.AddNewBook.SaveAsFilename:=Test.xlsSet语句语法形式:Set变量或属性名={[New]对象表达式|Nothing}New创建对象的一个新实例。Nothing释放该对象资源。Workbook对象和Workbooks集合例2打开工作簿用Open方法:Workbooks.Open(“D:\Test.xls”)即打开D盘根目录中的Test.xls工作簿。Worksheet对象和Worksheets集合Worksheet对象:代表一个工作表Worksheets对象:指定的或活动工作簿中所有Worksheet对象的集合常用属性Worksheet.Cells属性:返回一个Range对象,它代表工作表中的所有单元格(不仅仅是当前使用的单元格)。Worksheet.Columns属性:返回一个Range对象,它代表活动工作表中的所有列Worksheet.Name属性:返回或设置一个String值,它代表对象的名称常用方法:Worksheets.Add方法:新建工作表。新建的工作表将成为活动工作表Worksheets.Copy方法:将工作表复制到工作簿的另一位置Worksheets.Delete方法:删除对象Worksheets(工作表).Activate方法:激活工作表Worksheet对象和Worksheets集合Workbook对象和Workbooks集合例3激活工作表(激活工作簿中的Sheet1工作表)Worksheets(Sheet1).Activate或Worksheets(1).ActivateWorkbook对象和Workbooks集合例4:新建工作表Sub新建工作表1()Worksheets.Addbefore:=Sheet1EndSubSub新建工作表2()Worksheets.Addafter:=Sheet4,Count:=2EndSubCount可选。要新建的工作表的数目。默认值为1。Workbook对象和Workbooks集合例5:保存工作表Sub保存工作表()ActiveWorkbook.SaveAsFilename:=D:\第一个保存工作表.xlsxEndSubWorkbook对象和Workbooks集合例6:重命名工作表Sub重命名工作表()Sheets(1).SelectSheets(1).Name=helloEndSubWorkbook对象和Workbooks集合例7:复制和删除工作表Sub复制和删除工作表()Sheets(1).Name=原始表Sheets(原始表).Copybefore:=Sheets(原始表)Sheets(1).Name=副本1Sheets(原始表).DeleteEndSubExcelVBA怎样引用区域目录●引用一个单元格●引用一个区域●引用整行●引用整列●引用所有单元格●引用相对位置单元格●引用特殊区域(一)●引用特殊区域(二)●引用特殊区域(三)引用一个单元格举例:引用单元格B5[B5]直接写地址,没有引号,无法循环Range(B5)地址为字符串,可行循环,但书写麻烦Cells(5,B)先行后列,行地址为数字,列地址为字符串,无法引用区域Cells(5,2)地址为数字,先行后列,行列都可循环,无法引用区域引用一个区域举例:引用区域B5:D10[B5:D10]地址用冒号连接Range(B5:D10)Range(B5,D10)起止地址分别用引号括起来,中间用逗号连接Range(Range(B5),Range(D10))Range嵌套Range(Cells(5,2),Cells(10,4))Range与Cells混合引用整行举例:引用第一行[1:1]Range(1:1)Rows(1)利用Rows(行)集合举例:引用第一到第三行[1:3]Range(1:3)Rows(1:3)引用整列举例:引用A列(第一列)[A:A]Range(A:A)Columns(1)利用Columns(列)集合Columns(A)举例:引用A到C列(第一到第三列)[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,…)逗号在引号内部Union(Range(B5:D10),Range(A1:C9))可以有多个Range型参数引用交叉(公共)区域Intersect(Range(B5:D10),Range(A1:C9))可以有多个Range型参数引用特殊区域(二)引用当前区域Range(B1).CurrentRegion当前区域是以空行和空列围成的区域任何一个区域都有自己所属的当前区域引用已用区域ActiveSheet.UsedRange不仅包括有数据的区域,还包括曾经用过的区域以所有用过区域的中最上行最左列和最下行最右列围成一个工作表只有一个用过区域如果没有用过任何单元格,则已用区域为A1单元格引用特殊区域(三)引用活动单元格Range(B5).Activate只能用于活动工作表引用当前选区ActiveCell.CurrentRegion引用偏移区域Range(B5:D10).Offset(2,1)引用C7:E12,偏移地址可正可负,默认为0,偏移地址先行后列引用命名区域引用命名区域将当前工作表中名为“AA”的单元格区域内容设置为30。[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列数据区末尾行号单元格和区域的操作求数据区末尾列号: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行数据区末尾列号实例编程序,打印九九乘法表如下。实例编程序,打印九九乘法表如下。