ExcelVBA参考大全ver0[1].0读书笔记.doc
《ExcelVBA参考大全ver0[1].0读书笔记.doc》由会员分享,可在线阅读,更多相关《ExcelVBA参考大全ver0[1].0读书笔记.doc(25页珍藏版)》请在三一办公上搜索。
1、目 录第一章:Excel VBA基础41录制宏:42用户自定义函数43 Excel对象模型4集合5属性5方法5事件54 VBA语言5基本的输入输出5调用函数和子过程5括号和参数列表6变量声明6变量的作用域和生存期7变量类型7对象变量7做出判断7循环9数组9运行时错误处理10第二章:Application对象101全局:102 Active属性:103 显示警告:104 屏幕刷新:105 Application的Evaluate方法:106 InputBox:117 状态栏:118 SendKeys:119 OnTime:1210 OnKey:1211 工作表函数:1212 Caller:12第
2、三章:工作薄和工作表121 Workbooks集合:12添加Workbook对象13从路径中获取文件名13在相同目录中的文件13覆盖现有的工作薄13保存改变142 Sheets集合:14工作表(Worksheet)14工作表的复制和移动14组合工作表143 Windows对象:15第四章:使用单元格区域151 Range对象的Activate方法和Select方法 :152 Range属性:15活动工作表中的单元格区域16非活动工作表中的单元格区域16Range对象的Range属性16Cells属性17Range对象的Item属性17在Range中使用Cells17关于Range对象的Cell
3、s属性18单个参数的单元格区域引用183 Offset 属性:184 Resize属性:185 SpecialCells方法:18确定最后一个单元格19删除数字196 CurrentRegion属性197 End属性:198 单元格区域求和:199 Columns属性和Rows属性:1910 Count属性1911 Areas属性2012 Areas集合2113 Union方法和Intersect方法:2114 空单元格:21第五章:使用名称211 Name对象212 Names属性21Application.Names 属性22Workbook.Names属性22Worksheet.Name
4、s属性223 Name对象的Name属性:234 命名单元格区域23创建全局名称23创建局部名称:235 在名称中存储值236 存储数组247 隐藏名字:248 处理命名的单元格区域:249 搜索名称:24第六章:数据列表251 结构化数据:252 排序单元格区域253 创建表254 排序表255 自动筛选25第七章:数据透视表25第八章:图表25第九章:事件过程25VBA是一种面向对象的程序设计语言,与Visual Basic程序设计语言在结构化和处理对象方面相同。VBA(Visual Basic for Application)。对象模型是可以在应用程序中找到的所有对象的层次结构。例如,E
5、xcel对象模型部分,有一个Application对象,Application对象包含Workbook对象,而Workbook对象包含Worksheet对象,Worksheet对象又包含Range对象。模块事实上只是一个带有一些特定特性的字处理文档,可用于帮助编写和测试代码。第一章:Excel VBA基础1录制宏:通过宏录制器可以生成子过程。在VBA中,宏被称为过程。有两种类型的过程:子过程和函数过程。2用户自定义函数Function Fahrenheit( Centigrade )Fahrenheit = Centigrade * 9 / 5 + 32End Funtion3 Excel对象
6、模型集合Excel自身是一个对象,称为Application对象。在Excel Application对象里,有一个Workbooks集合,包含所有当前打开的Workbook对象。每个Workbook对象有一个Worksheets集合,包含在该工作薄里的Worksheet对象。属性属性是对象的自然特征,可以被度量或量化。例如:每个人都有一个身高属性 一个年龄属性、一个性别属性、一个名字属性等。方法方法是对象或者在对象中可以执行的动作。事件对象可以响应事件。如果希望某个对象响应事件,需要在该对象相应的事件过程里输入VBA代码。4 VBA语言 基本的输入输出MsgBox输出:MsgBox( pro
7、mpt , buttons , title , helpfile, context )通过位置指定参数: MsgBox “打印吗?”, , “警告!”通过名称指定参数: MsgBox Title:=”警告!”, Prompt:=”打印吗?”, Buttons:=36指定参数时使用常量:MsgBox Prompt:=”打印吗?”, Title:=”警告!”, Buttons:=vbYesNo + vbQuestion返回值:Answer = MsgBox(Prompt:=”打印吗?”, Buttons:=vbYesNo + vbQuestion)注意:如果希望获取函数的返回值,需要在括号里放置所
8、有的参数。如果无需使用返回值,则不应该使用括号。此规则也应用于对象的方法。InputBox输入:UserName = InputBox( Prompt:= “请输入您的名字:” ) 调用函数和子过程Option ExplicitStart 函数、子过程调用Sub Master() Dim SalesData As String SalesData = GetInput(Message:=输入销售数据) If SalesData = False Then Exit Sub PostInput InputData:=SalesData, Target:=B3End SubFunction GetI
9、nput(Message As String) As String Dim Data As String Data = InputBox(Message) If Data = Then GetInput = False Else GetInput = DataEnd FunctionSub PostInput(InputData As String, Target As String) Range(Target).Value = InputDataEnd SubEnd 函数、子过程调用 括号和参数列表不使用Call语句:A 仅当调用函数过程并使用该函数过程的返回值时,将参数放置在括号内;B 当
10、调用函数过程但不使用该函数过程的返回值时,不需要在参数周围放置括号C 当调用子过程时,不在参数周围放置括号关于括号,重要而细微的区别A MsgBox (“插入磁盘”) MsgBox与(“插入磁盘”)之间有一个空格Response = MsgBox(“插入磁盘”) MsgBox与(“插入磁盘”)之间无空格注意:在MsgBox与(“插入磁盘”)之间插入一个空格额外的空格表明括号里面是参数而非参数列表。使用Call语句:A如果使用Call语句,则必须在传递给被调用过程的参数两边放置括号 变量声明注意:Option Explicit仅应用于其出现处的模块。需要强制变量声明的每个模块必须在其声明部分重复
11、该语句 变量的作用域和生存期变量的作用域定义了哪些过程可以使用该变量。(在VBA中,宏被称为过程。有两种类型的过程:子过程和函数过程。)变量的生存期定义了变量保存所赋的值多长时间。 变量类型声明变量类型Dim SalesData As Double, Index As Integer, StartDate As Date声明函数和参数类型Function IsHoliday(WhichDay As Date) As BooleanSub Marine(CrewSize As Integer, FuelCapacity As Double)常量Const Version As String =
12、“Release 3.9a” 对象变量创建对象变量引用对象A Set语句用于将一个对象引用赋值给一个对象变量。Start对象变量Sub ObjectVariable() Dim rng As Range Set rng = ThisWorkbook.Worksheets(Sheet1).Range(C10) rng.Value = InputBox(输入一月的销售量) rng.Offset(-1, 0).Value = 一月销售量End SubEnd对象变量 做出判断If语句If语句提供三种形式:IIf函数、单行的If语句以及If结构。AIIf函数Function dTax(dProfitBe
13、foreTax As Double) As Double dTax = IIf(dProfitBefore 0, 0.3 * dProfitBeforeTax, 0)End FunctionB单行的If语句Function dTax2(dProfitBeforTax As Double) As Double If dProfitBeforTax 0 Then dTax2 = 0.3 * dProfitBeforeTax Else dTax2 = 0End FunctionCIf结构Function dTax3(dProfitBeforTax As Double) As Double If dP
14、rofitBeforTax 0 Then dTax3 = 0.3 * dProfitBeforeTax Else dTax3 = 0 End IfEnd FunctionSelect Case 语句Function vPrice1(sProduct As stirng) As Variant Select Case sProduct Case 苹果 vPrice1 = 12.5 Case 桔子 vPrice1 = 15 Case 梨子 vPrice1 = 18 Case Else vPrice1 = CVErr(xlErrNA) End SelectEnd FunctionFunction v
15、Price2(sProduct As stirng) As Variant Select Case sProduct Case 苹果: vPrice2 = 12.5 Case 桔子: vPrice2 = 15 Case 梨子: vPrice2 = 18 Case Else: vPrice2 = CVErr(xlErrNA) End Select Function vFare(iAge As Integer) As Variant Select Case iAge Case 0 To 3, Is 65 vFare = 0 Case 4 To 15 vFare = 10 Case 16 To 65
16、 vFare = 20 Case Else vFare = CVErr(xlErrNA) End SelectEnd Function 循环DoLoop例子省略ForNext例子省略数组数组A 数组是可以包含一个以上数据项的VBA变量,通过在名称后面包含括号声明数组。在括号里放置整数,定义数组中元素的个数。B 数组的定义Dim avData(2) As Integer 一共有avData(0),avData(1),avData(2)三个元素Dim avData(1 To 2) As Integer 一共有avData(1),avData(2)两个元素C 数组元素赋值avData(0) = 1a
17、vData(1)=10avData(2)=100Dim avData As VariantavData = Array(North, South, East, West)D 数组函数LBound,UBoundSub Array1() Dim aiData(10) As Integer Dim sMessage As String, i As Integer For i = LBound(aiData) To UBound(aiData) aiData(i) = i Next i sMessage = = & LBound(aiData) & vbCr sMessage = sMessage &
18、 = & UBound(aiData) & vbCr sMessage = sMessage & = & WorksheetFunction.Count(aiData) & vbCr sMessage = sMessage & = & WorksheetFunction.Sum(aiData) MsgBox sMessageEnd Sub多维数组A 多维数组定义Dim avData(10, 20) As VariantDim avData(1 To 10, 1 To 20)B 多维数组函数Dim avData As VariantLBound(aiData,1) To UBound(aiDat
19、a,2)动态数组A 通过忽略数组维数声明一个动态数组Dim asData() As StringB 可以在运行时使用ReDim语句声明所需大小,因而可以使用变量定义索引值的范围:ReDim avData(iRows, iColumns)ReDim avData(iminRow To iMaxRow, iminCol To imaxCol)运行时错误处理捕获错误On Error Goto LineLabel获取错误信息Err对象可以获取到错误信息。Err对象的Number属性返回错误号,Description属性返回相关的报错信息忽略错误Resume语句表现为三种形式:A Resume执行导致错
20、误的语句B Resume Next返回导致错误语句的下一条语句并执行该语句,从而跳过了有问题的语句;C Resume LineLabel跳转到代码中指定的行标签处,选择从何处恢复执行恢复错误处理On Error GoTo 0第二章:Application对象1全局:Application对象是全局对象,它的许多属性和方法也是全局的成员。2 Active属性:下面的Application属性是全局的属性,允许引用活动的对象:ActiveCell、ActiveChart、ActivePrinter、ActiveSheet、ActiveWindow、ActiveWorkbook、Selection。
21、3 显示警告:设置DisplayAlerts属性为False,可以屏蔽掉大多数警告。当屏蔽一个警告对话框时,自动执行该对话框中默认的按钮相关联的操作。例如:Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True4 屏幕刷新:Application.ScreenUpdating = False5 Application的Evaluate方法: 将一个 Microsoft Excel 名称转换为一个对象或者一个值。语法表达式.Evaluate(Name)表达式一个代表 Applica
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ExcelVBA 参考 大全 ver0 读书笔记
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3426615.html