资源描述
Office高级应用,zjunqiang,Office高级应用,ExcelVBA基础Word长篇文档排版技巧PowerPoint制作综合应用,EXCEL篇,推荐书籍:别怕,ExcelVBA其实很简单网站:ExcelH学习方法:实践,用户分级,菜鸟,初级用户,中级用户,高级用户,专家,Excel用户水平层级,新手:刚刚开始接触初级:掌握基本常用功能中级:熟练使用常用功能+数据透视表+公式高级:VBA简单编程专家:EXCEL技能+专业知识+行业经验,重新认识Excel,1、工作薄、工作表、行、列、单元格、区域,2、我们所有的操作都是针对这些对象,3、这些对象本身有自己的属性,Excel主要功能,数据操作录入、编辑、格式化等图表与图形图表生成、高级图表、交互图表公式与函数公式基础、函数、数组公式、自定义函数数据分析排序、筛选、列表、数据透视表宏与VBA宏、VBA、Excel对象、窗体与控件、类模块,Excel数据操作输入技巧,输入文本输入分数日期时间,单引号Alt+Enter,01/2,Ctrl+;Ctrl+Shift+;,Excel数据操作输入技巧,数据有效性允许对单元格中所输入的值设置限制示例限制数字数值的输入限制文本条目的长度限制数值的范围将单元格条目限制在特定序列中,Excel数据操作输入技巧,使用单元格下拉菜单规范输入数据有效性输入序列内容使用单元格引用创建下拉菜单定义名称创建二级下拉菜单,条件格式,根据单元格的当前值来更改单元格的格式示例修改格式隐藏出错值公式=ISERROR(H19)出错值的单元格的字体颜色设置为与工作表背景颜色一样,单元格引用,单元格引用范围单元格引用类型相对引用绝对引用混合引用F4,Excel公式,普通公式=A1+B1=SUM(A1:A10)数组公式(多重计算)=AVERAGE(B1:B10-A1:A10命名公式,Excel中的运算符:,简单公式:利用其他单元格中的数据进行加、减、乘、除等算术运算的公式,称为“简单公式”。,2011-9-27,课程编号:XX-XXXX-XX,15,最基础的函数应用,1、在菜单栏中有最基础的函数运用;,2、sum、average、count、max、min;,3、函数的构成:函数名(参数1,参数2,);,2011-9-27,课程编号:XX-XXXX-XX,16,日期函数,1、常用:year、month、day、weekday、today,2、其他:datedif、date、days360,3、日期函数的高级应用,2011-9-27,课程编号:XX-XXXX-XX,17,文本函数,1、常用:left、right、mid、concatenate,2、其他:find、replace、proper、char,3、文本函数的高级应用,2011-9-27,课程编号:XX-XXXX-XX,18,统计函数,1、常用:count、counta、countif,2、其他:sumproduct、subtotal、round,3、统计函数的高级应用,2011-9-27,课程编号:XX-XXXX-XX,19,查找函数,1、常用:lookup、vlookup、index,2、其他:choose、match、hlookup,3、查找函数的高级应用,2011-9-27,课程编号:XX-XXXX-XX,20,逻辑函数,1、常用:if、and、or,2、其他:true、false、not,3、逻辑函数的高级应用,2011-9-27,课程编号:XX-XXXX-XX,21,函数的嵌套,1、用一个函数来做为另一个函数的参数,2、函数嵌套是为了解决复杂的问题,3、函数嵌套没有固定的要求,变化很多,2011-9-27,课程编号:XX-XXXX-XX,22,数组公式,1、用于建立可以产生多个结果或对可以存放在行和列中的一组参数进行运算的单个公式,2、可以执行多重计算,它返回的是一组数据结果,3、不要迷恋数组公式,Excel函数,函数的作用函数的选择与使用函数的嵌套=RIGHT(A1,LEN(A1)-3),IF函数,函数语法IF(条件表达式,结果1,结果2),VLOOKUP函数,函数用途函数语法:VLOOKUP(查找值,查找区域,返回结果的列号,查找方式)=VLOOKUP(B9,B1:G5,6,0),了解Excel公式的错误值,#!原因:如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#!错误。#VALUE!当使用错误的参数或运算对象类型时,或者当公式自动更正功能不能更正公式时,将产生错误值#VALUE!。#DIV/0!当公式被零除时,将会产生错误值#DIV/O!。#NAME?在公式中使用了Excel不能识别的文本时将产生错误值#NAME?,了解Excel公式的错误值,#N/A当在函数或公式中没有可用数值时,将产生错误值#N/A。#NULL!当试图为两个并不相交的区域指定交叉点时将产生错误值#NULL!,VBA应用开发与实例,李辉微软课程培训讲师,宏与VBA,录制运行宏VBA基础EXCEL对象窗体与控件类模块,宏VBA,在应用程序中可以自动运行的一连串的功能指令能够完成大量重复的操作,VisualBasicforApplication编程语言基于Excel或其他Office应用程序进行开发,善用宏简化工作,与宏的第一次亲密接触,打开带有宏的工作簿宏病毒?设置Excel的安全性,【高】通常适用于用户没有安装防病毒软件的时候【中】用户可以确保所使用的宏命令是安全的【低】不对宏作出任何检查,宏的安全性,开始录制宏,操作步骤,完成宏录制,运行宏,录制宏需要经常重复执行的某项任务,就可以把执行这些任务的步骤全部录制在宏里,把宏变为可自动执行的任务,执行宏的操作执行宏的命令在工具栏上设置宏按钮使用窗体控件使用图形对象执行宏,DEMO:制作工资表,宏的结构,Sub主界面()主界面MacroCorenLee记录的宏2002-11-5Sheets(主界面).SelectEndSub,宏名,批注,宏程序,宏的局限性,录制的宏无判断或循环能力.人机交互能力差,即用户无法进行输入,计算机无法给出提示.无法显示excel对话框.无法显示自定义窗体.,为何要使用VBA宏缺少伸缩的弹性记录了许多不需要的步骤记录了许多不需要的资料无法使用较深入的功能无法完成重复性的工作无法完成需要条件判断的工作,宏,VBA,VisualBasicforApplication,VBA中最重要的几个概念,对象Object:工作簿、工作表、单元格、图表等属性对象的具体性质、特色方法具体的操作、动作、指令事件某个能引发具体动作的事件,集合,集合也是对象许多对象有单复数之分,例如Workbook和Workbooks;Worksheet和Worksheets,怎么引用对象Worksheets(“Sheet1”),Excel对象结构,怎么表示对象的属性,对象.属性Sheet1工作表的A1单元格Worksheets(“Sheet1”).Range(“A1”),使用对象的程序语法,Workbooks(“Mybook.xls”).Worksheets(“Sheet1”).Range(“B5”).Value=“ABCDE”,属性,Workbooks.Close,集合对象,Application.Workbooks(“mybook.xls”)Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”)Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”).Range(“A1:D10”)Worksheets(“mysheet”).Range(“A1:D10”),方法,打开工作簿复制工作表选中单元格SetObject1=ObjectObject.Property=ValueObject.Method(Setting)对象.方法Range(“A1).Select,VBA的编程环境,Alt+F11,SubHello()MsgBox(Hello,world!)EndSub,SubRenameWorksheets()RenameWorksheetsMacroSheets(Sheet1).SelectSheets(Sheet1).Name=NewNameEndSub,SubRenameWorksheets()DimiAsIntegeri=1ForEachmyWorksheetInWorksheetsmyWorksheet.Name=NewName&ii=i+1NextEndSub,VBA基本控制结构,选择结构循环结构,VBA控制结构分支结构,If条件1Then语句块1ElseIf条件2Then语句块2Else语句块n+1EndIf,SelectCase测试变量Case表达式1语句块1Case表达式2语句块2CaseElse语句块n+1EndSelect,VBA控制结构循环结构,For变量=初值To终值Step步长语句块Next变量,ForEach对象变量In对象集语句块Next对象变量,DoWhile条件表达式语句块Loop,九九乘法表,Submysub()DimiAsIntegerDimjAsIntegerDimsAsStringWorksheets(“Sheet1”).Range(“A1”).Value=“九九乘法表Fori=1To9Forj=1To9s=i&*&j&=&i*jActiveSheet.Cells(i+1,j)=sNextjNextiEndSub,示例:在Excel中打印工资表,SubInsertTitle()Selection.CurrentRegion.SelectCells(Selection.Row,Selection.Column).SelectRange(Selection,Selection.End(xlToRight).SelectSelection.CopyActiveCell.Offset(2,0).Range(A1).SelectDoUntilActiveCell=Selection.InsertShift:=xlDownRange(Selection,Selection.End(xlToRight).SelectSelection.CopyActiveCell.Offset(2,0).Range(A1).SelectLoopApplication.CutCopyMode=FalseEndSub,示例:对话框与外部应用程序,PrivateSubdonkey_Click()MsgBox(Iamadonkey)EndSub,PrivateSubWabbit_Click()CallPlaySound(ActiveDocument.Path+wabbit.wav)EndSub,PrivateSubturtle_Click()ConstAnswer=TURTLEDimTriesAsIntegerDimMessage,Title,Default0,MyValueAsStringTries=0Message=WhatamI?Setprompt.Title=WhatamI?Settitle.Default0=*Setdefaultforinputfield.Question:Tries=Tries+1IfTries=3ThenDefault0=T*EndIfIfTries=4ThenDefault0=TUR*EndIfMyValue=InputBox(Message,Title,Default0)MyValue=UCase(MyValue)Converttouppercase,示例:保存并关闭系统,PrivateSubWorkbook_BeforeClose(CancelAsBoolean)OnErrorResumeNextDimabcabc=MsgBox(您确认要关闭本系统吗?,vbQuestion+vbYesNo+vbDefaultButton2,确认)Ifabc=vbYesThenSheets(说明).SelectActiveWorkbook.SaveElseCancel=TrueEndIfEndSub,自毁程序,SubkillThisWorkbook()不出现保存提示ThisWorkbook.Saved=True将工作簿的访问权限改为只读ThisWorkbook.ChangeFileAccessxlReadOnly删除磁盘上的当前工作簿KillThisWorkbook.FullNameThisWorkbook.CloseEndSub,自毁程序启动条件,非指定用户打开时非指定计算机打开时非指定路径下打开非指定时间打开超过打开次数限定后,
展开阅读全文