EXCELVBA基础入门EXCELVBA基础入门1.什么是宏?它在那里?2.宏的安全性问题5.VBA编辑器7.程序结构8.VBA语法4.VBA语言介绍3.录制宏9.编写程序6.对象、属性、方法和事件EXCELVBA基础入门1.什么是宏?它在那里?宏是一个指令集,用来告诉EXCEL完成用户指定的动作。宏类似于计算机程序,但是它是完全运行于EXCEL之中的,我们可以使用宏来完成枯燥的、频繁的重复性工作。宏完成动作的速度比用户自己做要快得多,能大大提高效率。office中都有宏的身影。增加鼠标寿命EXCELVBA基础入门2.宏的安全性问题宏是依附于office文件的程序,可能有恶意的宏程序,即宏病毒。所以一般默认是禁止宏的,再加上编程问题,一般不敢用“宏”,对于提高办公效率只能依赖于EXCEL技巧。EXCELVBA基础入门3.录制宏运行宏录制宏安全性VBA编辑器EXCELVBA基础入门4.VBA语言介绍翻译:直观基本应用本质:与VB相似,一种应用程序开发工具,是可视化、面向对象、事件驱动方式的结构化程序设计语言•由应用程序控制•也可以增强应用程序的功能•由微软公司开发•是Office套件的一部分•极大的提高办公效率VBA(VisualBasicforApplications)EXCELVBA基础入门5.VBA编辑器工程资源管理器代码窗口EXCELVBA基础入门•Application当前应用程序对象•Workbook工作簿对象•Worksheet工作表对象•Range由一个或多个单元格构成的区域6.对象、属性、方法和事件对象代表应用程序中的元素,比如,工作表、单元格、图表、窗体。在VisualBasic的代码中,可在使用对象的任一方法或改变它的属性之一的值之前,必须去识别对象。选择一个单元格(展示对象的层次结构)应用程序.工作簿.工作表.区域.选择Application.Workbooks(“jbk.xls”).Worksheets(“j1”).Range(“A1”).Select在当前工作簿中选择一个单元格Range(“A1”).SelectEXCELVBA基础入门•WorksheetFunction属性(可以从代码中访问任何内置的工作表函数)例子(检查规定的单元格区域内是否还有空的)IfApplication.WorksheetFunction.CountBlank(Range(“a1:c10”))0ThenMsgbox“您必须在所有的单元格中添加数据”EndIf•ActiveWorkbook属性:返回指向活动工作簿的对象•ActiveSheet属性:返回指向活动工作表的对象•Selection属性:返回一个对当前选定单元格区域的引用•ThisWorkbook属性:在任何时候返回对包含代码的工作簿的引用6.1Application对象EXCELVBA基础入门•打开已有的工作簿Application.Workbooks.Open“c:\abc.xls”•添加新的工作簿Workbooks.Add•引用工作簿DimwkbasWorkbookSetwkb=Workbooks.Add•保存工作簿DimwkbasWorkbookForEachwkbinApplication.Workbookswkb.Save(.SaveAs“c:\abc.xls”)Nextwkb•关闭工作簿ActiveWorkbook.CloseSaveChange:=True,FileName:=“c:\abc.xls”6.2Workbooks对象EXCELVBA基础入门•Add方法:添加新的工作表ActiveWorkbook.Worksheets.AddAfter:=Worksheet(“Sheet3”)Count:=2•Count属性:返回工作簿中的工作表数ActiveWorkbook.Worksheet.AddAfter:=Worksheet(Worksheets.Count)•Name属性:命名工作表Worksheets(2).Name=“test”•Activate方法:选择并显示一个工作表ActiveWorkbook.Worksheets(“test”).Activate•Move方法:移动工作表的位置ActiveWorkbook.Worksheets(“test”).MoveBefore:=ActiveWorkbook.Worksheets(1)•Delete方法:从工作簿中删除工作表Application.DisplayAlerts=False(不显示提示信息)ActiveWorkbook.Worksheets(“test”).Move6.3WorkSheet对象EXCELVBA基础入门•Value属性:设置单元格中的数值Range(“A1”).Value=Range(“A1”).Value*80•Formula属性:将指定的公式放入单元格区域Range(“A3”).Formula=“=A1+A2”•Rows和Columns属性:返回工作表中一个完整的行或列Rows(1)表示活动工作表中第一行的Range对象•Range属性:对一个相邻或不相邻的单元格区域返回一个Range对象Range(“A:C”)Range(“A1:C10”)Range(“A1:C10,E1:E20”)•Cells属性:获得对单个单元格的引用引用单元格D10:Cell(10,4)Cells(x,y).Value=x*y6.4Range对象EXCELVBA基础入门7.程序结构定义程序开始定义变量主程序程序结束注释EXCELVBA基础入门8.VBA语法可以使用Do...Loop语句去运行语句的块,而它所用掉的时间是不确定的。当条件为True或直到条件变成True时,此语句会一直重复。直到条件为True时重复语句。根据条件的值,可使用If...Then...Else语句运行指定的语句或一个语句块。If...Then...Else语句可根据需要嵌套多级。然而,为了可读性可能会使用SelectCase语句而不使用多嵌套级的If...Then...Else语句。如果条件为True则运行语句。If...Then...Else语句Do...Loop语句另:Error语句、Exit语句、Msgbox函数、控件等……EXCELVBA基础入门9.编写程序大致流程:1.明确目的和流程,确定步骤。2.录制宏(减少误操作)。5.丰富宏程序功能,反复调试。3.宏程序简单修减(去掉无用、错误操作信息)。4.编写宏程序,定义函数,嵌入循环,标明注释。6.插入艺术字,连接执行宏程序。EXCELVBA基础入门1.宏不是万能的,必须有人操作和维护。2.不使用宏不影响正常的学习和办公。不是所有的文档都需要宏来帮忙。3.很多宏的功能完全可以手工实现。通过EXCEL技巧可以在一定程度上提高效率。4.日常制作文件加上宏,可以极大的提高文件制作效率,宏比你想象中要快!而且宏有很多特殊功能!5.VBA本身就是计算机语言,可以编写复杂的宏程序,可以实现N多功能,形成复杂的管理系统。