Execl VBA学习笔记-个人整理

2025-10-27 19:09:48

1、一、什么是VBA?

VBA是一种编程语言,它依托于Office软件,不能独立的运行,通过VBA可以实现各种Office软件操作的自动化。

1、宏与VBA有什么关系?

VBA是编程语言,宏是用VBA代码保存下来的程序。

2、打开宏的对话框:Alt+F8。

二、程序里都有什么?

代码,过程,模块,对象,对象的属性

对象的属性表示:对象在前,属性在后,对象与属性之间用点(.)连接如:Range(“A1”).Value

对象的方法同上如:Range(“A1”).Select

三、VBA的编程环境-VBE

打开方法快捷键:Alt+F11

1、  试写一个简单的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 Funxtion

12、代码排版

更改长行代码为短行代码:[空格]+下划线,下划线前的空格一定不能少。

把多行合并为一行:各行代码之间用英文冒号(:)分隔。

添加注释语句:’ +需要说明的语句

五、常用对象

1、ecl VBA常用的对象:

Application

代表Execl应用程序

Workbook

代表Execl中的工作薄,一个Workbook对象代表一个工作薄文件

Worksheet

代表Execl中的工作表,一个Workbook对象代表一个工作薄里的一张普通工作表

Range

代表Execl中的单元格,可以是单个单元格,也可以是单元格区域

2、由我开始,最顶层的Application对象

Application.ScreenUpdating = False 关闭屏幕更新

Application.ScreenUpdating = True  恢复屏幕更新

3、Application.DisplayAlerts = False 不显示警告信息

Application.DisplayAlerts = True 恢复显示警告信息

Application对象的EnableEvents属性来启用或禁用事件

3、了解Workbook对象

属性列表

l  属性

l  描述

l  Count

l  该属性返回 Workbooks 集合中 Workbook 对象的数量。Long 类型,只读。

l  Item

l  该属性返回 Workbooks 集合中的单个 Workbook 对象。Workbook 类型,只读。

l  方法列表

l  方法

l  描述

l  Add

l  该方法用于新建工作簿。

l  Close

l  该方法用于关闭所有工作簿。

l  Open

l  该方法用于打开工作簿。

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种按钮设定

常数

说明

VbOkonly

0

只显示【确定】按钮

vbOkCancel

1

显示【确定】和【取消】两个按钮

5、vbAbortRetryIgnore

2

显示【终止】、【重试】和【忽略】3个按钮

VbYesNoCancel

3

显示【是】、【否】和【取消】3个按钮

vbYesNo

4

显示【是】和【否】2个按钮

vbRetryCancel

5

显示【重试】和【取消】2个按钮

MsgBox函数一共有4种图形样式

VbCritical

16

显示“关键信息”图标

vbQuestion

32

显示“警告询问”图标

vbExclamation

48

显示“警告消息”图标

vbInformation

64

显示“通知消息”图标

Application对象的FindFlie方法:用户可以在对话框中选择并打开文件。

Application对象的GetOpenFilename方法:在对话框里选择文件,获得文件名称。

Application对象的GetSaveAsFilename方法:打开【另存为】对话框,在对话框里选择文件,获得文件名。

Application对象的FileDialog属性:可以获得指定目录的路径及名称。

1、  关于用户窗体

UserForm对象与控件

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