vba常用代码大全

  • 格式:docx
  • 大小:72.71 KB
  • 文档页数:65

14

前言

我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个, 功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:

Application.WorksheetF unction .Sum(argl,arg2,arg3)o

而能在VBA中直接应用的函数也有儿十个,下面将逐一详细介绍常用的40个VBA函数, 以供大家学习参考。

第1.1例ASC函数

一、 题目:

要求编写一段代码,运行后得到字符串” Excel”的首字母和” e”的ASCII值。

二、 代码:

Sub 示例—1_01()

Dim myNuml%, myNum2%

myNuml 二 Asc("Exce门’返回 69

myNum2 二 Asc("e")'返回 101

[al]二"myNuml二 n: [bl] = myNuml

[a2] = "myNum2= ": [b2] = myNum2

End Sub

三、 代码详解

1、 Sub示例_1_010:宏程序的开始语句。

2、 Dim myNuml%, myNum2%:变量 myNuml 和 myNum2 声明为整型变量。

也可以写为Dim myNuml As Integer <> Integer变量存储为16位(2个字节)的 数值14

形式,其范围为-32,768到32,767之间。Integer的类型声明字符是白分比符 号(%)。

3、 myNuml = Asc("Excel"):把 Asc 函数的值赋给变量 myNuml»

Asc函数返回一个Integer,代表字符串中首字母的字符的ASCD代码。

语法

Asc(string)

必要的string (字符串)参数可以是任何有效的字符串表达式。如果string中没有包 含任何字符,则会产生运行时错误。

4、 myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。这里返回小写字母e

的ASCII代码101o

5、 [al] = nmyNuml= ": [bl] = myNuml:把字符串 “myNuml二“赋给 Al 单元 格,把变量myNuml的值赋给Bl单元格。

6、 [a2]二 nmyNum2= ": [b2] = myNum2:把字符串 amyNum2= “赋给 A2 单元

格,把变量myNum2的值赋给B2单元格。

7、 End Sub:程序的结束语句,和“Sub示例_1_01 () ”相对应。

第1.2例Ch『函数

一、 题目"":

要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符。

二、 代码:

Sub 示例_1_02()

Dim myCharl$, myChar2$ 14

myCharl 二 Chr(69)'返回 E。

myChar2 二 Chr(lOl)'返回 e。

[al] = "myCharl= ": [bl] = myCharl

[a2] = "myChar2= [b2] = myChar2

End Sub

三、代码详解

1、 Sub示例_1_020:宏程序的开始语句。

2、 Dim myCharlS, myChar2$:变量 myCharl 和 myChar2 声明为字符串变量。 也可以写为Dim myCharl As String。String之字符码的范围是0到255。字符集的 前128个字符(0到127)对应于标准的U.S.键盘上的字符与符号。这前128个字符 与ASCII字符集中所定义的相同。后128个字符(128到255)则代表特殊字符,例如 国际字符,重音符号,货币符号及分数。String的类型声明字符为美元号($)。

3、 myCharl = Chr(69):把Chr(69)的值赋给变量myCharl.这里返回大写字母E。

Chr函数根据字符代码返回一个字符。

语法

Chr(charcode)

必要的charcode (字符代码)参数是用来识别某字符的。

4、 myChar2二Chr(lOl):把Chr函数的值赋给变量myChar2c这里返回小写字母e。

5、 [al]二"myCharl二":[bl] = myCharl:把字符串 amyCharl = “赋给 Al 单元 格,把变量myChar 1的值赋给Bl单元格。

6、 [a2]二"myChar2= ": [b2] = myChar2:把字符串 amyChar2= “赋给 A2 单元

格,把变量myChar2的值赋给B2单元格。 14

7、End Sub:程序的结束语句,和“Sub示例_1_02 () ”相对应。

第1.3例Choose函数

一、 题目:

要求编写一段代码,运用Choose函数根据指定数字选择对应的字符串。

二、 代码:

Sub 示例—1_03()

Dim Num%

Num 二 2

MsgBox Choose(Num,"一月",■二月;"三月")

End Sub

三、 代码详解

1、 Sub示例_1_030:宏程序的开始语句。宏名为示例_1_03o

2、 Dim Num% :变量Num声明为整型变量。

3、 Num二2 :把2赋给变量Num。

4、 MsgBox Choose(Num,月:"二月:■三月"):

Choose函数从参数列表中选择并返回一个值。

语法

Choose(index, choice-l[, choice-2,... [; choice-n]])

Choose会根据index的值来返回选择项列表中的某个值。如果index是1,

则Choose会返回列表中的第1个选择项。如果index是2,则会返回列表中的第2个 14

选择项,以此类推。

Index是必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选 择的项口数之间。当index小于1或大于列出的选择项数LI时,Choose函数返回Null。 如果index不是整数,则会先四舍五入为与其最接近的整数。

第1.4例Cos函数

一、 题目:

要求编写一段代码,运用Cos函数根据指定角度的余弦计算其正割的值。

二、 代码:

Sub 示例—1_04()

Dim jiaodu, zenge

jiaodu 二 1.3

zenge = 1 / Cos(jiaodu)

MsgBox “角度为” & jiaodu & “的正割的值=” & zenge

End Sub

三、 代码详解

1、 Sub示例_1_04():宏程序的开始语句。宏名为示例_l_04o

2、 Dim jiaodu, zenge :两个变量都被指定为可变型数据类型。当声明常数、变量或 参数时,若无指定数据类型则会自动的指定成Variant(可变型)数据类型。声明成Variant 数据类型的变量可以为字符串、日期、时间、Boolean或数值。

3、 jiaodu二1.3 :把以“弧度”为单位的角度1.3赋给变量jiaodu。

4、 zenge = 1/Cos(jiaodu):利用1/余弦算得正割(sec())的值,赋给变量zenge。 14

Cos函数返回一个角的余弦值。其参数是表示一个以弧度为单位的角。

5、MsgBox “角度为” &jiaodu & “的正割的值=” &zenge :利用 MsgBox 函 数显示算得的正割(sec())的值。

第1.5例Date函数

一、 题目:

要求编写一段代码,运用Date函数显示系统日期的值。

二、 代码:

Sub 示例_1_05()

Dim myDate

myDate = Date

MsgBox “系统日期为” &myDate

End Sub

三、 代码详解

1、Sub示例_l_05():宏程序的开始语句。宏名为示例_1_05。

2、 Dim myDate :变量myDate被指定为可变型数据类型。

3、 myDate = Date :把系统日期的值赋给变量myDate。

Date函数返回系统当前的日期。

4、 MsgBox “系统日期为” & myDate :利用MsgBox函数显示系统日期的值。 14

第1.6例DateAdd函数

一、题目:

要求编写一段代码,运用DateAdd函数显示返回一定间隔后的日期。

二、代码:

Sub 示例—1_06()

Dim dyrq As Date

Dim jglx As String

Dim n As Integer

Dim Msg

jglx = "m"

dyrq二InputBox("请输入一个日期")

n = InputBoxC*输入增加月的数目:")

Msg 二"新日期:"& DateAdd(jglx, n, dyrq)

MsgBox Msg

End Sub

三、代码详解

1、Sub示例_l_O60:宏程序的开始语句。宏名为示例_l_06o

2、 Dim dyrq As Date :变量dyrq声明为日期对象型数据类型。其余儿个变量分别是字 符串型、整型和可变型变量。

3、 jglx = "m":用字符m来指定以“月份”作为间隔。

4、 dyrq = InputBox("请输入一个日期"):用InputBox函数来让用户输入一个日期,并

把用户输入的日期赋给变量dyrq。

5、 n二InputBox("输入增加月的数U:"):用InputBox函数来让用户输入间隔月的数 14

目,并把用户输入的值赋给变量n。

6、 Msg ="新日期:"& DateAddQglx, n, dyrq):用DateAdd函数计算得到的新的日 期和字符串“新日期:”连接起来赋给变量Msg。

DateAdd函数返回一个日期,这一日期加上了一个时间间隔。

语法

DateAdd(interval, number, date)

DateAdd函数语法中有下列命名参数:

interval必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,比如”

m”为月;” d”为日;” yyyy”为年等等。

number必要。数值表达式,是要加上的时间间隔的数H。其数值可以为正数(得到

未来的日期),也可以为负数(得到过去的日期)。

date必要。表示日期的文字。

7、MsgBox Msg :利用MsgBox函数显示Msg的值。

第1.7例DateDiff函数

一、 题目:

要求编写一段代码,运用DateDiff函数返回某个指定日期距离今天的天数。

二、 代码:

Sub 示例_1_07()

Dim zdrq As Date

Dim Msg

zdrq 二 InputBox("请输入一个日期:")