360 likes | 670 Views
Excel VBA 程序设计. 第 2 章 VBA 基础知识. VBA 字符集. 大小英文字母: A~Z 、 a~z 。 不区分大小写 数字: 0~9 。 特殊符号: + - * / ^ = <> < > <= >= & 等运算符及一些标点符号。 汉字. VBA 关键字. VBA 中的关键字很多,如:数组、编译命令、控制流、变换、数据类型、日前与时间、目录和文件、错误、金融、输入与输出、数学、其他、操作符、字符串处理、变量与常量等。
E N D
ExcelVBA程序设计 第2章 VBA基础知识
VBA字符集 • 大小英文字母:A~Z、a~z。不区分大小写 • 数字:0~9。 • 特殊符号:+- * /\ ^ = <><> <= >= &等运算符及一些标点符号。 • 汉字
VBA关键字 • VBA中的关键字很多,如:数组、编译命令、控制流、变换、数据类型、日前与时间、目录和文件、错误、金融、输入与输出、数学、其他、操作符、字符串处理、变量与常量等。 如:Const、As、Dim、Boolean、Integer、Date、Double、Do、、Else、End、For、If、Is、Loop、Next、String、Sub、Then、While、With、Call
VBA标识符 • 标识符的命名规则 • 首字符必须为字母或汉字 • 不能出现空格 .! @ & $ #等字符 • 不能与关键字(及一些有特定含义的单词)同名 • 不能超过255个字符
书写规范 • 一行可以书写多条语句,各语句之间以冒号:分隔 • 一条语句可以多行书写,以空格加下划线 _来续行 • 单词之间以空格分隔 • 尽量使用缩进格式,以增加程序的可读性 • 养成使用注释的习惯
VBA中的常量 • 直接常量 • 数值常量,如:120、2.65 • 字符串常量,如“ Excel” 、 “武大120” • 逻辑常量:True、False • 日期常量,如: #9/28/2013# • 符号常量
VBA中的常量 • 直接常量 • 符号常量 • 系统内部常量 • 用户自定义常量 Const 标识符 As 数据类型 = 表达式 【例】 Const myNumberAs Integer = 5 Const myFruit As String = " Apple"
VBA中的变量 • 声明变量 • 用Dim声明变量 • 用Private声明变量 • 用Public声明变量 • 用Static声明变量 Dim 标识符列表 [As 数据类型] 【例】 Dim Flag As Integer, StName As String Dim StNum As String
VBA中的变量 • 声明变量 • 隐式声明 • 强制显式声明 在声明字段加上语句:Option Explicit
VBA的数据类型 • 数组类型 • 声明固定大小的数组 Dim 数组名 (数组上界) As 数据类型 Dim 数组名 (第1维上界, 第2维上界,…) As 数据类型 • 声明动态数组 Dim 数组名 ( ) As 数据类型 ReDim [Preserve]数组名 (下标)
VBA运算符与表达式 • 算术运算符 • 比较运算符 • 逻辑运算符 • 字符串连接运算符
VBA运算符与表达式 • 算术运算符
VBA运算符与表达式 • 字符串连接运算符
VBA运算符与表达式 • 比较运算符 比较运算符的优先级相同
VBA运算符与表达式 • 逻辑运算符
VBA运算符与表达式 • 逻辑运算符
VBA运算符与表达式 • 比较运算符
VBA运算符与表达式 • 运算符的优先级 • 在表达式中,当运算符不止一种时,要先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符。所有比较运算符的优先顺序都相同;也就是说,要按它们出现的顺序从左到右进行处理。而算术运算符和逻辑运算符则必须按下列优先顺序进行处理。 • 字符连接运算符(&)在算术运算符之后,比较运算符之前
VBA流程控制 • 顺序结构 • 选择结构 • 循环结构
Y N 表达式 语句 VBA流程控制 • 选择结构 • 单分支 If条件表达式 Then语句组 End If
Y N 表达式 语句组1 语句组2 VBA流程控制 • 选择结构 • 双分支 If条件表达式 Then语句组1 Else 语句组2 End If
假 表达式1 假 表达式2 假 表达式3 ... 假 表达式n-1 真 真 真 真 语句组n 语句组n-1 语句组3 语句组1 ... 语句组2 VBA流程控制 • 选择结构 • 多分支 If条件表达式1Then语句组1 ElseIf条件表达式2Then 语句组2 …… Else 语句组n End If
VBA流程控制 • 选择结构 • 多分支 Select Case语句
VBA流程控制 • 顺序结构 • 选择结构 • 循环结构
VBA流程控制 • 循环结构 Do…Loop For…Next For Each…Next
VBA流程控制 • With语句 在一个单一对象上执行一系列的语句。 语法 Withobject [statements] End With
VBA过程 • 过程是模块中最小的单元,通常用于完成某个相对独立的功能。 • Sub过程 没有任何返回值的一段程序。在VBA中响应事件的代码块都是Sub过程。 Call语句用来条用过程。 • Function过程(函数) 用于建立用户自定义函数,可以有一个返回值。 调用方法与Excel内部函数调用方法一致。
常用内部函数 • 数学函数
常用内部函数 • 字符串函数
常用内部函数 • 字符串函数
常用内部函数 • 转换函数
常用内部函数 • 日期函数
常用内部函数 • 日期函数
常用内部函数 • Shell函数 Shell函数可以调用(执行)磁盘上已保存的可执行文件(扩展名必须是 .COM、.EXE、.BAT)。 【格式】Shell (“命令文件名”[,窗体模式]) • 【说明】 • <命令文件名>必须是全名,包括盘符、路径、主文件名、扩展名 • [窗体模式]是可选项,取不同的值,打开的窗体模式不同。