Execl VBA学习笔记-个人整理

2025-04-09 06:05:35

1、一、什么是VBA?VBA是一种编程语言,它依托于Office软件,不能独立的运行,通过VBA可以实现各种Office软件操作的自动化。1、宏与VBA有什么关系?VBA是编程语言,宏是用VBA代码保存下来的程序。2、打开宏的对话框:Alt+F8。二、程序里都有什么?代码,过程,模块,对象,对象的属性对象的属性表示:对象在前,属性在后,对象与属性之间用点(.)连接如:Range(“A1”).Value对象的方法同上如:Range(“A1”).Select三、VBA的编程环境-VBE打开方法快捷键:Alt+F111、 试写一个简单的VBA程序,在模块中添加一个模块输入代码如下:Public Sub mysub() MsgBox “学习VBA,我很高兴!” End Sub四、VBA语法的学习1、VBA中有哪些数据类型?Byte,Boolen,Integer,Long,Date,Variant等等2、变量与常量声明变量:Dim 变量名 As 数据类型声明多个变量:不同的变量之前用逗号隔开。不指定变量类型使用Variant称为变体型。强制声明所有变量:在模块的第一句手动输入:Option Explicit或者在工具->选项->勾选要求变量声明2、 变量的作用域不同的Public 变量名 As 数据类型 公共变量Private 变量名 As 数据类型 私有变量 Static 变量名 As 数据类型 静态变量3、 变量赋值变量名称= 数据如果给对象变量(Object型,如单元格)赋值,语句为:Set 变量名称=对象(其中Set千万不能少)4、 使用常量Const 变量名称 As 数据类型=数值5、 使用数组声明数组:Public |Dim 数组名(a to b)As 数据类型 数组中元素的个数为:b-a+1给数组赋值:数组名(a)=赋值

2、 声明多维数组Dim 数组名称(a to b,c to d)数组的数量为(b-a+1)x(d-c+1)声明动态数组:Dim 数组名称()其他创建数组的方式:Array()、Split()、Range()使用UBound和LBound函数可以计算数组的最大和最小索引号。7、集合、对象、属性和方法例如:Application.Workbooks(“Books”).Worksheets(“sheet2”).Range(“A2”)对象的属性Sheet1 工作表的A1单元格8、VBA的运算符9、内置函数:Time()、If语句、Select Case语句、For…Next语句、Do While语句、Do Until语句、For Each…Next语句、Goto语句以及With语句10、Sub过程,基本的程序单元声明Sub过程,规范的语句[Private| Public] [Static] Sub 过程名 ([参数列表])[语句块][Exit Sub][语句块]End Sub过程的作用域分为公有过程与私有过程。11、自定义函数,Function过程声明函数过程,规范的语句[Private| Public] [Static] Function 函数名([参数列表])[As 数据类型][语句块][函数名=过程结果][Exit Function][语句块][函数名=过程结果]End Funxtion12、代码排版更改长行代码为短行代码:[空格]+下划线,下划线前的空格一定不能少。把多行合并为一行:各行代码之间用英文冒号(:)分隔。添加注释语句:’ +需要说明的语句五、常用对象1、ecl VBA常用的对象:Application代表Execl应用程序Workbook代表Execl中的工作薄,一个Workbook对象代表一个工作薄文件Worksheet代表Execl中的工作表,一个Workbook对象代表一个工作薄里的一张普通工作表Range代表Execl中的单元格,可以是单个单元格,也可以是单元格区域2、由我开始,最顶层的Application对象Application.ScreenUpdating = False 关闭屏幕更新Application.ScreenUpdating = True 恢复屏幕更新

3、Application.Displa鲻戟缒男yAlerts = False 不显示警告信息Application.DisplayAlerts = True 龉并狙澉恢复显示警告信息Application对象的EnableEvents属性来启用或禁用事件3、了解Workbook对象属性列表l 属性l 描述l Countl 该属性返回Workbooks集合中Workbook对象的数量。Long 类型,只读。l Iteml 该属性返回Workbooks集合中的单个Workbook对象。Workbook 类型,只读。l 方法列表l 方法l 描述l Addl 该方法用于新建工作簿。l Closel 该方法用于关闭所有工作簿。l Openl 该方法用于打开工作簿。4、至关重要的Range对象多种方法引用Ranged对象Worksheets(或Range)对象的Range属性如果要引用多个不连续的区域,可以在各区域间添加逗号。如果想引用相交区域(公共区域),可以在多个区域间添加空格。可以使用两个参数来引用两个区域围成的矩形区域。Worksheets(或Range)对象的Cells属性Application对象的Union方法、Offset属性、Resize属性、UsedRange属性、CurrentRegion属性、End属性单元格里的内容,Value属性Count 、Address属性、Selects属性5、事件,VBA里的自动开关Worksheet对象的事件列表Activate激活工作表时发生BeforeDoubleClick双击工作表之后,默认的双击操作之前发生BeforeRightClick右击工作表之后,默认的右击操作之前发生Calculate重新计算工作表之后发生Change工作表中的单元格发生更改时发生Deactivate工作表由活动工作表变为不活动工作表时发生FollowHyperlink单击工作表中的任意超链接时发生PivotTableUpdate在工作表中更新数据透视视表之后发生SelectionChange工作表中所选内容发生更改发生6、Workbook事件列表事件说明Activate激活工作薄时AddinInstall当工作簿作为加载宏安装时

4、AddinUninstall工作簿作为加载宏卸载时BeforeClose关闭工作薄前BeforePrint打印工作薄(或其中任何内容)之前BeforeSave保存工作薄前Deactivate工作簿从活动状态转为非活动状态时NewSheet在工作簿中新建工作表时Open打开工作簿时PivotTableCloseConnection在数据透视表关闭与其数据源的连接之后PivotTableOpenConnection在数据透视表打开与其数据源的连接之后SheetActivate激活任何一张表时SheetBeforeDoubleClick双击任何工作表时SheetBeforeRightClick鼠标右键单击任一工作表时SheetCalculate工作表重新计算时SheetChange更改工作表中的单元格时SheetDeactivate任一工作表由活动状态转为非活动状态时SheetFollowHyperlink单击Microsoft Excel中的任意超链接时SheetPivotTableUpdate数据透视表的工作表更新之后SheetSelectionChange工作簿中的数据透视表更新之后WindowActivate工作簿的窗口激活时WindowDeactivate工作簿的窗口变为非活动状态时WindowResize工作簿窗口调整大小时7、别样的自动化MouseMove事件不是事件的事件:Application对象的OnKey方法六、用户界面设计窗体控件 ActiveX控件与用户交互、简单的输入输出对话框InputBox函数Application对象的InputBox方法:可以创建接收用户输入的对话框。MsgBox函数:可以创建一共对话框,告诉用户某些信息,并等待用户单击其中某个按钮后继续运行。MsgBox的6种按钮设定常数值说明VbOkonly0只显示【确定】按钮vbOkCancel1显示【确定】和【取消】两个按钮

5、vbAbortRetryIgnore2显示【终止】、【重试】和【忽略】3个按钮VbYesNoCancel3显示【是】、【否】和【取消】3个按钮vbYesNo4显示【是】和【否】2个按钮vbRetryCancel5显示【重试】和【取消】2个按钮MsgBox函数一共有4种图形样式VbCritical16显示“关键信息”图标vbQuestion32显示“警告询问”图标vbExclamation48显示“警告消息”图标vbInformation64显示“通知消息”图标Application对象的FindFlie方法:用户可以在对话框中选择并打开文件。Application对象的GetOpenFilename方法:在对话框里选择文件,获得文件名称。Application对象的GetSaveAsFilename方法:打开【另存为】对话框,在对话框里选择文件,获得文件名。Application对象的FileDialog属性:可以获得指定目录的路径及名称。1、 关于用户窗体UserForm对象与控件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢