搜档网
当前位置:搜档网 › vba常用代码大全

vba常用代码大全

vba常用代码大全
vba常用代码大全

前言

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

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

第1.1例ASC函数

一、题目:

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

二、代码:

Sub 示例_1_01()

Dim myNum1%, myNum2%

myNum1 = Asc("Excel”) '返回69

myNum2 = Asc(”e")'返回101

[a1] = "myNum1= ": [b1] = myNum1

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

End Sub

三、代码详解

1、Sub 示例_1_01():宏程序的开始语句。

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

也可以写为Dim myNum1As Integer。Integer变量存储

为16位(2 个字节)的数值形式,其范围为—32,768 到32,767 之间。Inte ger 的类型声明字符是百分比符号(%)。

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

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

语法

Asc(string)

必要的string(字符串)参数可以是任何有效的字符串表达式。如

果string中没有包含任何字符,则会产生运行时错误。

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

5、[a1] = "myNum1= ”:[b1]=myNum1:把字符串“myNum1= “赋给A1单元格,把变量myNum1的值赋给B1单元格.

6、[a2]="myNum2= ": [b2]= myNum2:把字符串“myN um2= “赋给A2单元格,把变量myNum2的值赋给B2单元格。

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

第1。2例Chr函数

一、题目"":

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

二、代码:

Sub示例_1_02()

DimmyChar1$, myChar2$

myChar1 = Chr(69) ’返回E。

myChar2 = Chr(101) ' 返回e。

[a1] = "myChar1= ": [b1] = myChar1

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

End Sub

三、代码详解

1、Sub示例_1_02():宏程序的开始语句。

2、DimmyChar1$,myChar2$:变量myChar1和myChar2声明为字符串变量。

也可以写为Dim myChar1 As String。String 之字符码的范围

是0到255。字符集的前128个字符(0到127)对应于标准的U。S. 键盘上的字符与符号。这前128个字符与ASCII字符集中所定义的相同。后128 个字符(128 到255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。String的类型声明字符为美元号($).

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

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

语法

Chr(charcode)

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

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

5、[a1] = "myChar1= ”: [b1] = myChar1:把字符串“myChar1=“赋给A1单元格,把变量myChar1的值赋给B1单元格。

6、[a2]= "myChar2=”: [b2] = myChar2:把字符串“myChar2= “赋给A2单元格,把变量myChar2的值赋给B2单元格.

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

第1.3例Choose函数

一、题目:

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

二、代码:

Sub 示例_1_03()

Dim Num%

Num=2

MsgBoxChoose(Num, "一月", "二月","三月”)

End Sub

三、代码详解

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

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

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

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

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

语法

Choose(index,choice-1[, choice—2, ..。[, choice-n]])

Choose 会根据index 的值来返回选择项列表中的某个值。如果index是1,则Choose会返回列表中的第 1 个选择项。如果index 是2,则会返回列表中的第2个选择项,以此类推。

Index是必要参数,数值表达式或字段,它的运算结果是一个数值,且界

于1和可选择的项目数之间。当index小于1或大于列出的选择项数目时,Choose 函数返回Null.如果index 不是整数,则会先四舍五入为与其最接近的整数。

第1。4例Cos函数

一、题目:

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

二、代码:

Sub 示例_1_04()

Dim jiaodu, zenge

jiaodu = 1.3

zenge= 1 / Cos(jiaodu)

MsgBox “角度为”& jiaodu&“的正割的值= " & zen ge

End Sub

三、代码详解

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

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

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

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

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

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

第1。5例Date函数

一、题目:

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

二、代码:

Sub 示例_1_05()

Dim myDate

myDate = Date

MsgBox “系统日期为”&myDate

End Sub

三、代码详解

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

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

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

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

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

第1。6例DateAdd函数

一、题目:

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

二、代码:

Sub 示例_1_06()

Dim dyrq As Date

Dim jglx As String

Dim nAs Integer

Dim Msg

jglx = "m”

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

n = InputBox(”输入增加月的数目:”)

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

MsgBox Msg

End Sub

三、代码详解

1、Sub 示例_1_06():宏程序的开始语句.宏名为示例_1_06.

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

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

4、dyrq = InputBox("请输入一个日期”) :用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量dyrq。

5、n = InputBox("输入增加月的数目:"):用InputBox函数来让用户输入间隔月的数目,并把用户输入的值赋给变量n。

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

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

语法

DateAdd(interval, number, date)

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

interval 必要.字符串表达式,是所要加上去的时间间隔.它具有好多设定值,比如”m"为月;”d”为日;”yyyy”为年等等.

number 必要。数值表达式,是要加上的时间间隔的数目.其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。

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

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

第1.7例DateDiff函数

一、题目:

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

二、代码:

Sub 示例_1_07()

Dimzdrq As Date

Dim Msg

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

Msg = ”离开今天的天数: " & DateDiff("d”, Now,zdrq)

MsgBox Msg

End Sub

三、代码详解

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

2、Dim zdrq As Date :变量zdrq声明为日期对象型数据类型.

3、zdrq= InputBox("请输入一个日期”) :用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量zdrq.

4、Msg= ”离开今天的天数: "& DateDiff("d", Now, zdrq):用Dat eDiff函数计算得到的结果和字符串“离开今天的天数:”连接起来赋给变量Msg。

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

DateDiff 函数

可用来决定两个日期之间所指定的时间间隔数目.例如,可以使用DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。

DateDiff(interval, date1,date2[, firstdayofweek[, firstweekofyear]])

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

interval 必要。字符串表达式,是所要加上去的时间间隔.它具有好多设定值,与DateAdd函数相同;此例中的"d",表示天数;

Date1,date2必要;计算中要用到的两个日期。

Firstdayofweek可选。指定一个星期的第一天的常数.如果未予指定,则以星期日为第一天。

firstweekofyear可选。指定一年的第一周的常数。如果未予指定,则以包含1月 1 日的星期为第一周。

第1。8例DatePart函数

一、题目:

要求编写一段代码,运用DatePart函数返回某个指定日期是在一年的哪一个季度。

二、代码:

Sub 示例_1_08()

Dim zdrq As Date

Dim Msg

zdrq= InputBox(”请输入一个日期:”)

Msg = "季度: " & DatePart("q",zdrq)

MsgBox Msg

End Sub

三、代码详解

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

2、Dimzdrq As Date :变量zdrq声明为日期对象型数据类型。

3、zdrq =InputBox(”请输入一个日期”):用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量zdrq.

4、Msg = ”季度:”&DatePart("q", zdrq):用DatePart函数计算得到的结果和字符串“季度: ”连接起来赋给变量Msg。

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

DatePart 函数

DatePart(interval, date,[, firstdayofweek[, firstweekofyear]])

语法中有下列命名参数:

interval 必要.字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与DateAdd函数相同;此例中的”q",表示季度;

Date,必要;计算中要用到的两个日期.

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。

firstweekofyear 可选。指定一年的第一周的常数.如果未予指定,则以包含 1 月 1 日的星期为第一周。

第1.9例DateSerial函数

一、题目:

要求编写一段代码,运用DateSerial函数返回指定日期的Date类型。

二、代码:

Sub 示例_1_09()

Dimzdrq

zdrq = DateSerial(2008,8, 8)

MsgBox zdrq

EndSub

三、代码详解

相关主题