VBA程序设计基础Word文档下载推荐.docx

上传人:b****5 文档编号:8435454 上传时间:2023-05-11 格式:DOCX 页数:19 大小:26.62KB
下载 相关 举报
VBA程序设计基础Word文档下载推荐.docx_第1页
第1页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第2页
第2页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第3页
第3页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第4页
第4页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第5页
第5页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第6页
第6页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第7页
第7页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第8页
第8页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第9页
第9页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第10页
第10页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第11页
第11页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第12页
第12页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第13页
第13页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第14页
第14页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第15页
第15页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第16页
第16页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第17页
第17页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第18页
第18页 / 共19页
VBA程序设计基础Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VBA程序设计基础Word文档下载推荐.docx

《VBA程序设计基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VBA程序设计基础Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

VBA程序设计基础Word文档下载推荐.docx

示例:

A=5

B=10

(二)选择结构

选择结构也叫分支结构,选择结构根据某个条件是否成立决定下一步执行的语句或语句块。

常见的选择语句有If…Then…EndIf和SelectCase……EndSelect两组。

1、If…Then…EndIf语句

格式:

If<

条件表达式>

Then

[语句块1]

Else

[语句块2]

EndIf

举例:

IfZongFen>

=60Then

MsgBox“及格”

MsgBox“不及格”

2、SelectCase……EndSelect语句

SelectCase<

Case<

条件1>

条件2>

……

[CaseElse]

[语句块n]

EndSelect

M=Month(Date())

SelectCaseM

Case3To5

MsgBox“春季”

Case6To8

MsgBox“夏季”

Case9To11

MsgBox“秋季”

Case12To2

MsgBox“冬季”

(三)循环结构

循环结构分为“当型循环”和“直到型循环”两种。

前者是当条件满足时执行循环体内的语句,后者是进入循环体直到条件不满足时退出。

VBA提供三类循环结构,即DoWhile……Loop、For……Next和While……Wend。

1、DoWhile……Loop循环

这是VBA中最基本的循环语句,当条件表达式为真时,重复执行循环体内的语句。

DoWhile<

[语句序列1]

[ExitDo]

[语句序列2]

Loop

I=0

N=10

S=0

DoWhileI<

=N

S=S+I

I=I+1

2、Do……LoopWhile循环

当要求循环体至少执行一次才能结束循环,此时,可以使用Do……LoopWhile循环。

Do

[语句序列1]

LoopWhile<

IfN<

0then

End

S=S+N

LoopWhileS<

=1000

3、DoUntil……Loop循环

当条件表达式不满足时,重复执行循环体内的语句。

与DoWhile……Loop意义相反。

DoUntil<

4、Do……LoopUntil循环

执行一次循环体内的语句,然后判断条件是否成立,当条件不成立时继续执行循环体,条件满足则退出。

LoopUntil<

(四)程序实例

1、编程:

任意输入两个数据,判断较大数,并显示出来。

2、编程:

计算水费,如果用户月用水量在7方以下,则按每方1.4元计算,否则,超出部分按每方1.9元计算。

3、编程:

输入一个年份,判断它是平年还是闰年。

4、编程:

输入三个数,找出它们中的最大数和最小数。

(或者按序排列输出)

5、编程:

输入10个同学的成绩,判断他们成绩的等级。

(及格:

60-70,中等:

71-80,良好:

81-95,优秀:

95以上)

6、编程:

计算1+2+3+……+100的和。

7、编程:

计算1+3+5+……+99的和。

8、编程:

计算1-2+3-4+5-……+99-100的结果。

9、编程:

求一元二次方程ax2+bx+c=0的根。

10、编程:

找出1000以内的“水仙花数”。

(水仙花数是一个三位数,它的各位上的数字的立方和,恰好等于它本身。

如153,13+53+33=1+125+27=153)

11、编程:

找出1000以内的“同构数”。

(同构数的特点是平方后得到的数的末尾和自身相同。

如25,252=625)

12、编程:

找出1000以内的素数。

13、编程:

用辗转相除法求任意两个数的最大公约数和最小公倍数。

14、编程:

求6!

15、编程:

求1!

+2!

+3!

+……+6!

16、编程:

找出10000以内的“四朵金花”。

四朵金花是一个四位数,它没一位的四次方和等于它本身,如1634。

三、常量、变量的声明和作用域

1、常量

常量是指在程序运行的过程中,其值不能被改变的量。

如12,-5,3+2,2.1E+5,π等。

常量有直接常量、符号常量(用Const语句声明)、固有常量、系统定义常量(如True、vbRed)等。

声明常量可以使用Const语句,其语法如下:

[Public|Private]Constconstname[Astype]=expression

如:

ConstPIasSingle=3.1415926

参数说明如下:

Public

可选的。

该关键字用于在模块级别中声明在所有模块中对所有过程都可以使用的常数。

在过程中不能使用。

Private

该关键字用于在模块级声明只能在包含该声明的模块中使用的常数。

不能在过程中使用。

constname

必需的。

常数的名称;

遵循标准的变量命名约定

type

常数的数据类型;

可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Date、String或Variant

expression

文字,其它常数,或由除Is之外的任意的算术操作符和逻辑操作符所构成的任意组合。

2、变量和数组

变量是指在程序运行的过程中,其值会因程序的需要而改变的量。

变量实际上是一个符号地址,它代表了命名的存储位置,包含在程序执行阶段修改的数据。

每个变量都有变量名,在其作用域范围内可唯一识别。

使用前可以指定数据类型(即采用显式声明),也可以不指定(即采用隐式声明)。

变量命名规则:

变量名必须以字母字符开头,在同一范围内必须是唯一的,不能超过255个字符,而且中间不能包含句点或类型声明字符。

不要与关键字同名。

声明变量:

虽然在程序设计中,允许使用隐式声明,但是良好的编程习惯要求在程序的前几行对所有的变量进行声明。

声明变量常用的语句是Dim和DefType(模块级)语句。

强制变量声明可以使用OptionExplicit语句。

1、Dim语句格式如下:

Dim变量名As数据类型

2、可以使用Dim语句在一行声明多个变量。

DimIntX,IntY,StrAasString

变量的数据类型:

数据类型

说明

Boolean

布尔型

Byte

字节

Integer

整型

Long

长整型

Currency

货币

Single

单精度

Double

双精度

Data

日期/时间

String

字符串

Object

对象

Variant

变体型

VBA中的类型说明符号有%(Integer)、&

(Long)、!

(Single)、#(Double)、$(String)和@(Currency)。

类型说明符号使用时是作为变量名的一部分,放在变量名的最后一个字符。

用户自定义类型的声明:

用户自定义类型的声明使用Type……EndType语句,其格式如下:

Type<

用户自定义类型名>

<

变量名1>

As<

数据类型1>

变量名2>

数据类型2>

EndType

TypeStuType

StuNameAsString*l0'

定义字符串变量存储一个名字。

StuBirthDateAsDate'

定义日期变量存储一个生日。

StuSexAsInteger'

定义整型变量存储性别

EndType'

(0为女,1为男)

使用:

DimUdasStuType

Ud.StuName="

Xyz"

Ud.StuBirthDate=75/12/17

Ud.StuSex=1

变量的作用域:

变量常用的作用域有Local(局部级)、Private(私有,窗体级,模块级)或Public(全局级)。

本地变量:

仅在声明变量的过程中有效。

在过程和函数内部所声明的变量,不管是否使用Dim语句,都是本地变量。

本地变量具有在本地使用的最高优先级,即当存在与本地变量同名的模块级的私有或公共变量时,模块级的变量则被屏蔽;

私有变量:

在所声明的模块中的所有函数和过程都有效。

私有变量必须在模块的通用声明部分使用“Private变量名As数据类型”进行声明;

公共变量:

在所有模块的所有过程和函数都可以使用。

在模块通用声明中使用“Public变量名As数据类型”声明公共变量。

数组变量:

数组是由一组具有相同数据类型的变量(称为数组元素)构成的集合。

(1)数组的声明

在VBA中不允许隐式说明数组,用户可用Dim语句来声明数组,声明方式为:

Dim数组名(数组下标上界)As数据类型

DimintArray(l0)AsInteger

这条语句声明了一个有11个元素的数组,每个数组元素为一个整型变量。

这是只指定数组元素下标上界来定义数组。

可以使用OptionBase来指定数组的默认下标下界是0或l。

默认情况下,数组下标下界为0。

(2)数组的使用

数组声明后,数组中的每个元素都可以当作单个的变量来使用,其使用方法同相同类型的普通变量。

其元素引用格式为:

数组名(下标值表)

其中:

如果该数组为一维数组,则下标值表为一个范围为[数组下标下界,数组下标上界]的整数;

如果该数组为多维数组,则下标值表为一个由多个(不大于数组维数)用逗号分开的整数序列,每个整数(范围为[数组该维下标下界,数组该维下标上界])表示对应的下标值。

例如可以如下引用前面定义的数组:

intAma

(2)'

引用一数组intAma的第3个元素。

intArray(0,0)'

引用二数组intArray的第1行第1个元素。

例如,若要存储一年中每天的支出,可以声明一个具有365个元素的数组变量,而不是365个变量。

数组中的每一个元素都包含一个值。

下列的语句声明数组curExpense具有365个元素。

按照缺省规定,数组的索引是从零开始,所以此数组的上标界是364而不是365。

DimcurExpense(364)AsCurrency

若要设置某个元素的值,必须指定该元素的索引(即下标值表)。

下面的示例对于数组中的每个元素都赋予一个初始值20。

SubF()

DimC(364)AsCurrency

DimIAsInteger

ForI=0to364

C(intI)=20

Next

EndSub

四、运算符和表达式

1、算术运算符与算术表达式

算术运算符是常用的运算符,用来执行简单的算术运算。

VBA提供了8个算术运算符,表6-7列出了这些算术运算符。

运算符

含义

举例

+

加法运算

3+2,结果为5

-

减法运算

15-2,结果为13

*

乘法运算

2*3,结果为6

/

浮点除运算

5/2,结果为2.5

\

整除运算

5\2,结果为2

^

指数运算

3^2,结果为9

Mod

取模运算

5Mod2,结果为1

取负运算

-(5Mod2),结果为-1

在8个算术运算符中,除取负(-)是单目运算符外,其它均为双目运算符。

单目运算符只需要一个运算数,双目运算符需要两个运算数。

2、字符表达式和连接符

在VBA中,字符采用英文半角的双引号或单引号作定界符,如“123”,此处的“123”不能参与数学运算。

字符连接符有两个,+和号&

号,用&

比用+号安全。

举例如下:

A$=“My”

B$=“Home”

C$=A$+B$

变量C$的结果为“MyHome”。

3、关系运算符、逻辑运算符和逻辑表达式

关系运算符也称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(True)或假(False)。

用关系运算符连接两个算术表达式所组成的表达式叫做关系表达式。

VBA提供了6个关系运算符,如下:

作用

结果

=

相等

3=2

False

>

或>

不相等

3+2<

4

True

小于

10<

100

大于

2>

3

小于或等于

3<

=3

大于或等于

=5

逻辑运算也称布尔运算,由逻辑运算符连接两个或多个关系式,组成一个布尔表达式。

常用的逻辑运算符有4个,如下:

Not

取反,由真变假,或由假变真

And

与运算,两个表达式为真,则结果为真,否则为假

Or

或运算,两个表达式中有一个为真,则结果为真,否则为假

Xor

异或运算,两个表达式

4、对象运算符与对象运算表达式

对象运算表达式中使用!

和.两种运算符,使用对象运算符指示随后将出现的项目类型。

①!

运算符的作用是指出随后为用户定义的内容。

使用!

运算符可以引用一个开启的窗体、报表或开启窗体或报表上的控件。

表9-7列出了3种引用方式。

②.(点)运算符

.(点)运算符通常指出随后为MicrosoftAccess定义的内容。

例如,使用.(点)运算符可引用窗体、报表或控件等对象的属性。

Reports!

[发货单]!

[货主].Visible

5、运算符的优先级

(1)=、<

的优先级别相同,<

、>

=、<

=优先级别也相同,前两种关系运算符的优先级别低于后四种关系运算符。

(2)关系运算符的优先级低于算术运算符。

(3)关系运算符的优先级高于赋值运算符(=)。

五、函数

1、数学函数

函数

功能

函数值

Abs(N)

求N的绝对值

Abs(-3)

Cos(N)

求N的余弦

Cos(45*3.14/180)

0.707

Exp(N)

E指数

Exp

(2)

7.389

Int(N)

返回参数的整数部分

Int(123.456)

123

Log(N)

自然对数

Log(2.732)

1

Rnd(N)

返回一个0—1之间的随机数

Rnd()

0—1之间的随机数

Sgn(N)

返回一个数的性质符号或0

Sgn(-5)

-1

Sin(N)

求N的正弦

Sin(45*3.14/180)

0.7068

Sqr(N)

求N的算术平方根

Sqr(25)

5

Tan(N)

求N的正切

Tan(45*3.14/180)

0.9992

2、字符函数

InStr(C1,C2)

返回C2在C1中的位置

InStr(“ABCDE”,“DE”)

LCase$(C)

将C中的字母转换成小写

LCase$(“ABcdE”)

“abcde”

Left($C,N)

返回C中左边的N个字符

Left(“ABCDE”,3)

“ABC”

Len($C)

返回字符C的长度

Len(“ABCDE”)

LTrim$(C)

去掉前导空格

LTrim$(“□□A”+“□□A”)

“A□□A”

Mid$($C,M,N)

从第M个字符起,取出C中的N个字符

Mid$(“ABCDE”,2,2)

“BC”

Right$($C,N)

返回C中右边的N个字符

Right$(“ABCDE”,3)

“CDE”

RTrim$(C)

去掉后置空格

RTrim$(“□□A”+“□□A□□”)

“□□A□□A”

Space$(N)

产生N个空格字符

Space$(3)

□□□

Trim$()

去掉前导和后置空格

Trim$(“□□A”+“□□A□□”)

UCase$(C)

将C中字母转换为大写

UCase$(“ABcde”)

“ABCDE”

3、日期时间函数

Date或Date()

返回当前系统日期(包含年月日),日期型

Year(Date)

返回指定日期的年份部分,数值型

Month(Date)

返回指定日期的月份部分,数值型

Day(Date)

返回指定日期的天数部分,数值型

Hours(Time)

返回指定时间的小时部分,数值型

Minutes(Time)

返回指定时间的分钟部分,数值型

Second(Time)

返回指定时间的秒数部分,数值型

Time或Time()

返回当前时间(包含时分秒)

Now

返回当前的日期和时间

WeekDay()

返回当前的星期

4、转换函数

例子

Asc(C)

返回C中第一个字符的ASCII码,数值型

Asc(“ABC”)

65

Chr(N)

返回ASCII码N对应的字符

Chr(97)

“a”

Str(N)

将N转成C类型

Str(1000)

“1000”

Val(C)

将C转成N类型

Val(“123.5”)

123.5

六、数据类型

类型符号

占用字节

取值范围

整型(Integer)

%

2

-32768~32767

长整型(Long)

&

(不要求)

单精度型(Single)

双精度型(Double)

#

8

字符型(String)

$

不定

0~65400

货币型(Currency)

@

日期型(Date)

100-01-01~9999-12-31

布尔型(Boolean)

True或False

对象型(Object)

任何引用的对象

变体型(Variant)

由最终的数据类型而定

字节型(Byte)

0~255

七、常用关键字举例

关键字,又称为保留字,是指VBA中具有特殊意义的符号。

这些关键字具有固定的含义,用户不能更改其拼写方式,在对过程、变量等命名时,不允许使用与关键字相同的拼写。

VBA中有许多关键字,可以分为数组、编译命令、控制流、变换、数据类型、日期与时间、目录和文件、错误信息等多种。

常见关键字举例如下:

Abs

Array

Asc

Bytes

Call

Case

Chr

Const

Date

Day

Dir

Exit

For

Function

If

Me

Randomize

Select

Space

Then

While

*八、MsgBox()函数常量的对应值和返回值

1、作用:

在对话框中显示消息,等待用户单击按钮,并返回一个Integer值,告诉用户单击哪一个按钮。

2、语法:

Msgbox(Prompt[,Buttons][,Title][,HelpFile,Context])

3、参数说明:

Prompt——必需的。

字符串表达式,作为对话框中的消息,最大长度1024个字符。

内容超过一行,可以用回车符Chr(13)和换行符Chr(10)实现分行显示。

Buttons——可选的。

缺省为0,数值表达式是值的总和,包含按钮的数目和形式,图标样式,缺省按钮等。

Title——可选的。

指定对话框的标题栏文字。

HelpFile——可选的。

指定向对话框提供上下文相关帮助的帮助文件。

提供了HelpFile则必须使用Context。

Context——可选的。

数值表达式,指定帮助主题的上下文编号。

常见Buttons参数的常量和对应值

常量

对应值

vbOKOnly

只显示“确定”按钮

vbOKCancel

显示“确定”和“取消”按钮

vbAbortRetryIgnore

显示“终止”、“重试”和“忽略”按钮

vbYesNoCancel

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2