Excel VBA使用说明

2025-09-26 15:58:08

1、个人宏工作簿:

是为宏儿设计的一种特殊的具有自动隐藏特性的工作簿。第一次会创建名为“PERSONAL.XLS"的新文件,保存在C :\WINDOWS\Profiles\ApplicationData\Microsoft\Excel\XLSTART,启动时excel会自动将此文件打开并隐藏在活动工作簿后面(在“窗口”菜单中可选择“取消隐藏”).不需要每次打开excel文件启动个人宏工作簿时,可在文件夹中删除此文件。

功能:让某个宏在多个工作簿都能使用

Excel VBA使用说明

2、一个模块包含四类代码:

1. 声明:不可执行的代码,用来给VBA提供常数、变量或过程的定义信息,并且制定其特性,如数据类型的声明。

2. Sub过程:指完成某项特定任务的VBA代码集合,sub过程不能返回值

3. Function函数:函数,可返回一个运算结果

4. 属性过程:类模块中的特殊过程,可创建并操作类的自定义属性

3、立即窗口:

1. 开发代码中加入Debug.Print语句,可输出到立即窗口。

2. 立即窗口可加入执行代码,只需在代码前面加上?,按【enter】即可独立立即执行

Excel VBA使用说明

4、事件:

1. 双击对象,弹出该对象的代码窗口

2. 在代码窗口上部左侧选择对象,右侧下拉框可选择事件

常见事件:

工作簿:

1. 打开Workbook_Open

2. 关闭Workbook_BeforeClose

3. 保存Workbook_BeforeSave

4. 打印Workbook_BeforePrint

工作表:

1. 双击Worksheet_BeforeDoubleClick

2. 右击Worksheet_BeforeRightClick

3. 选中区域/单元格Worksheet_SelectionChange

4. 改变单元格内容Worksheet_Change

5. 激活Worksheet_Activate

Excel VBA使用说明

5、常量:

1. 符号常量:Const 常量名=常量值,如Const PI=3.14

2. 日期常量:用#括起来的日期字符串就是日期常量,如#3/28/2019#

3. 内置常量:一般以Vb为前缀,可直接使用,如VbRed

6、变量:

Dim语句定义一个变量后,VBA自动为该变量赋值。若变量为数值型,则初始值为零;若变量为字符串型,则初始值为空字符串;未定义数据类型的变量,则默认值为variant。

Dim: 普通局部变量;只能在声明它的过程中使用,变量在过程执行时才分配存储空间,执行后即释放。

Static: 静态局部变量;只能在声明它的过程中使用,在整个程序运行过程均有效。

Private: 模块变量;必须在某个模块的生命部分进行预先声明,在模块内的所有过程都可以使用。

Public: 全局变量;在标准模块的所有过程之外的起始位置进行定义的变量,运行时所有类模块和标准模块的所有子过程和函数可以使用该变量。

Option Explicit:在模块的开始部分添加该语句行,可实现强制用户显式声明,避免变量名拼写错误。

数组: Dim 数组名(n) [As 数据类型], 存储0-10共11个数据。

数据类型:(保留字或说明符)

1. Dim i as Integer = Dim i% (2字节)

2. Dim i as Long = Dim i&    (4字节)

3. Dim i as Single = Dim i!    (4字节)

4. Dim i as Double = Dim n# (8字节)

5. Dim i as String =Dim i$  (2M), Dim i as String*10 (定长10字符,0~64K)

6.  Boolean 2字节,True或False

7.  Date 8字节

8. Object 声明为对象变量,用Set语句赋值,

Dim myobject as Object

Set myobject=worksheet("Sheet")

Set myobject=Nothing  '中断关联

9. Byte

10. Currency 货币

11. Variant 变体型

7、运算符:

MOD: 取模运算10MOD3=1

+:如果两边为字符串时,连接字符串,“1”+“2"="12"

&:强制连接为字符串 1&2=12

XOR: 逻辑排除运算符,左右表达式只有一个为真时,为真

EQV:逻辑等价运算符,左右表达式逻辑值相同为真

IMP:逻辑蕴含运算符,左表达式为真,右为假,结果为假,否则为true。

1、特殊字符

回车换行符:vbCrLf

2、过程:

事件:

Private Sub 事件(……)

End Sub

Sub过程:

[Private|Public|Friend|Static] Sub 过程名[(参数)]

[程序语句]

[Exit Sub]

[程序语句]

End Sub

调用:

Call 过程名(过程参数)

或过程名(过程参数),作为语句使用

Function:

[Private|Public|Friend|Static] Function 函数名[(参数) [as 参数类型]] [as 返回类型]

[程序语句]

函数名=表达式1

[Exit Function]

[程序语句]

函数名=表达式2

End Function

调用:

1. 在excel表中直接调用

2. 在VBA像内置函数一样使用, 如a=函数(参数)

3、常用函数:

输入:

变量 = InputBox(<提示>[,<标题>,<默认值>][,<边距1>,<边距2>])

输出:

[对象].print [<表达式>

Debug.print

[变量名response]=MsgBox

字符串:

Left("abcdefg", 2) = "ab"

Right("abcdefg", 2) = "fg"

Mid("abcdefg", 3, 2) = "cd"

"a" & "b"="ab"

调用内置函数

Application.WorksheetFunction.(内置函数)

最后一行

lastrow = thisworkbook.Sheet1.Range("A65536").End(xlUp).Row

工作簿

ActiveWorkbook.Name 文件名,不包含路径

ActiveWorkbook.FullName 文件名,包含路径

ActiveWorkbook.Path 路径

0VBA宏代码语句

4、结构语句:

1. 条件

If 逻辑表达式1 then

      程序语句1

   elseif 逻辑表达式2 then

      程序语句2

   ……

   else

       程序语句n

End if

2. 循环

For 循环变量=初始值 to 最终值 [Step 步长]

      循环语句

Next [循环变量]

1、定时:

Application.OnTime 安排一个程序在将来的指定时间运行,不占用线程

Application.Wait 用于暂停程序,直到一特定时间才可继续执行。如果达到指定时间,则值为true。

Excel VBA使用说明

Excel VBA使用说明

Excel VBA使用说明

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