vba常用代码大全.docx

上传人:b****5 文档编号:29715567 上传时间:2023-07-26 格式:DOCX 页数:61 大小:258.67KB
下载 相关 举报
vba常用代码大全.docx_第1页
第1页 / 共61页
vba常用代码大全.docx_第2页
第2页 / 共61页
vba常用代码大全.docx_第3页
第3页 / 共61页
vba常用代码大全.docx_第4页
第4页 / 共61页
vba常用代码大全.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

vba常用代码大全.docx

《vba常用代码大全.docx》由会员分享,可在线阅读,更多相关《vba常用代码大全.docx(61页珍藏版)》请在冰豆网上搜索。

vba常用代码大全.docx

vba常用代码大全

 

vba常用代码大全(总39页)

前言

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

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

?

第例ASC函数

一、题目:

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

二、代码:

Sub?

示例_1_01()

DimmyNum1%,myNum2%

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

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

[a1]="myNum1=":

[b1]=myNum1

[a2]="myNum2=":

[b2]=myNum2

EndSub?

三、代码详解

1、Sub示例_1_01():

宏程序的开始语句。

2、DimmyNum1%,myNum2%:

变量myNum1和myNum2声明为整型变量。

也可以写为DimmyNum1AsInteger。

Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。

Integer的类型声明字符是百分比符号(%)。

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:

把字符串“myNum2=?

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

7、EndSub:

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

?

第例Chr函数

一、题目"":

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

二、代码:

Sub?

示例_1_02()

DimmyChar1$,myChar2$

myChar1=Chr(69)'返回E。

myChar2=Chr(101)'返回e。

[a1]="myChar1=":

[b1]=myChar1

[a2]="myChar2=":

[b2]=myChar2

EndSub

三、代码详解

1、Sub示例_1_02():

宏程序的开始语句。

2、DimmyChar1$,myChar2$:

变量myChar1和myChar2声明为字符串变量。

也可以写为DimmyChar1AsString。

String之字符码的范围是0到255。

字符集的前128个字符(0到127)对应于标准的.键盘上的字符与符号。

这前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、EndSub:

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

?

第例Choose函数

一、题目:

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

二、代码:

Sub?

示例_1_03()

DimNum%

Num=2

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

EndSub

三、代码详解

1、Sub示例_1_03():

宏程序的开始语句。

宏名为示例_1_03。

2、DimNum%:

变量Num声明为整型变量。

3、Num=2:

把2赋给变量Num。

4、MsgBoxChoose(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不是整数,则会先四舍五入为与其最接近的整数。

第例Cos函数

一、题目:

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

二、代码:

Sub?

示例_1_04()

Dimjiaodu,zenge

jiaodu=

zenge=1/Cos(jiaodu)

MsgBox“角度为?

”&jiaodu&“的正割的值=?

”&zenge

EndSub

三、代码详解

1、Sub示例_1_04():

宏程序的开始语句。

宏名为示例_1_04。

2、Dimjiaodu,zenge:

两个变量都被指定为可变型数据类型。

当声明常数、变量或参数时,若无指定数据类型则会自动的指定成Variant(可变型)数据类型。

声明成Variant数据类型的变量可以为字符串、日期、时间、Boolean或数值。

3、jiaodu=:

把以“弧度”为单位的角度赋给变量jiaodu。

4、zenge=1/Cos(jiaodu):

利用1/余弦算得正割(sec())的值,赋给变量zenge。

Cos函数返回一个角的余弦值。

其参数是表示一个以弧度为单位的角。

5、MsgBox“角度为?

”&jiaodu&“的正割的值=?

”&zenge:

利用MsgBox函数显示算得的正割(sec())的值。

?

第例Date函数

一、题目:

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

二、代码:

Sub?

示例_1_05()

DimmyDate

myDate=Date

MsgBox?

“系统日期为?

”&myDate

EndSub

三、代码详解

1、Sub示例_1_05():

宏程序的开始语句。

宏名为示例_1_05。

2、DimmyDate:

变量myDate被指定为可变型数据类型。

3、myDate=Date:

把系统日期的值赋给变量myDate。

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

4、MsgBox“系统日期为?

”&myDate:

利用MsgBox函数显示系统日期的值。

?

第例DateAdd函数

一、题目:

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

二、代码:

Sub?

示例_1_06()

DimdyrqAsDate

DimjglxAsString

DimnAsInteger

DimMsg

jglx="m"

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

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

")

Msg="新日期:

"&DateAdd(jglx,n,dyrq)

MsgBoxMsg

EndSub

三、代码详解

1、Sub示例_1_06():

宏程序的开始语句。

宏名为示例_1_06。

2、DimdyrqAsDate:

变量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、MsgBoxMsg:

利用MsgBox函数显示Msg的值。

?

第例DateDiff函数

一、题目:

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

二、代码:

Sub?

示例_1_07()

DimzdrqAsDate

DimMsg

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

")

Msg="离开今天的天数:

"&DateDiff("d",Now,zdrq)

MsgBoxMsg

EndSub

三、代码详解

1、Sub示例_1_07():

宏程序的开始语句。

宏名为示例_1_07。

2、DimzdrqAsDate:

变量zdrq声明为日期对象型数据类型。

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

用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量zdrq。

4、Msg="离开今天的天数:

"&DateDiff("d",Now,zdrq):

用DateDiff函数计算得到的结果和字符串“离开今天的天数:

”连接起来赋给变量Msg。

5、MsgBoxMsg:

利用MsgBox函数显示Msg的值。

?

DateDiff?

函数

可用来决定两个日期之间所指定的时间间隔数目。

例如,可以使用DateDiff来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。

  

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

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

interval必要。

字符串表达式,是所要加上去的时间间隔。

它具有好多设定值,与DateAdd函数相同;此例中的"d",表示天数;

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

Firstdayofweek可选。

指定一个星期的第一天的常数。

如果未予指定,则以星期日为第一天。

firstweekofyear可选。

指定一年的第一周的常数。

如果未予指定,则以包含1月1日的星期为第一周。

?

第例DatePart函数

一、题目:

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

二、代码:

Sub?

示例_1_08()

DimzdrqAsDate

DimMsg

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

")

Msg="季度:

"&DatePart("q",zdrq)

MsgBoxMsg

EndSub

三、代码详解

1、Sub示例_1_08():

宏程序的开始语句。

宏名为示例_1_08。

2、DimzdrqAsDate:

变量zdrq声明为日期对象型数据类型。

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

用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量zdrq。

4、Msg="季度:

"&DatePart("q",zdrq):

用DatePart函数计算得到的结果和字符串“季度:

”连接起来赋给变量Msg。

5、MsgBoxMsg:

利用MsgBox函数显示Msg的值。

?

DatePart?

函数

?

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

?

语法中有下列命名参数:

interval必要。

字符串表达式,是所要加上去的时间间隔。

它具有好多设定值,与DateAdd函数相同;此例中的"q",表示季度;

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

Firstdayofweek可选。

指定一个星期的第一天的常数。

如果未予指定,则以星期日为第一天。

firstweekofyear可选。

指定一年的第一周的常数。

如果未予指定,则以包含1月1日的星期为第一周。

?

?

第例DateSerial函数

一、题目:

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

二、代码:

Sub?

示例_1_09()

Dimzdrq

zdrq=DateSerial(2008,8,8)

MsgBoxzdrq

EndSub

三、代码详解

1、Sub示例_1_09():

宏程序的开始语句。

宏名为示例_1_09。

2、Dimzdrq:

变量zdrq声明为可变型数据类型。

3、zdrq=DateSerial(2008,8,8):

DateSerial函数转换所得的结果赋给变量zdrq。

DateSerial函数返回指定日期年月日的日期格式。

语法

DateSerial(year,month,day)

DateSerial函数语法有下列的命名参数:

year必要;整型。

从100到9999间的整数,或一数值表达式。

month必要;整型。

任何数值表达式。

day必要;整型。

任何数值表达式。

4、MsgBoxzdrq:

利用MsgBox函数显示zdrq的值。

  

第例DateValue函数

一、题目:

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

二、代码:

Sub?

示例_1_010()

Dimzdrq

zdrq=DateValue("August8,2008")

MsgBoxzdrq

EndSub

三、代码详解

1、Sub示例_1_010():

宏程序的开始语句。

宏名为示例_1_010。

2、Dimzdrq:

变量zdrq声明为可变型数据类型。

3、zdrq=DateValue("August8,2008"):

DateSerial函数转换所得的结果赋给变量zdrq。

4、MsgBoxzdrq:

利用MsgBox函数显示zdrq的值。

?

DateValue函数

将字符串转换为日期格式。

语法

DateValue(date)

DateValue函数的参数:

date必要;通常是字符串表达式,表示从100年1月1日到9999年12月31日之间的一个日期。

但是,date也可以是任何表达式,其所代表的日期、时间在上述范围内。

?

第例Day函数

一、题目:

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

二、代码:

Sub?

示例_1_11()

Dimzdrq

zdrq=#2008-12-8#

MsgBoxzdrq&"这天的日为:

"&Day(zdrq)

EndSub

三、代码详解

1、Sub示例_1_11():

宏程序的开始语句。

宏名为示例_1_11。

2、Dimzdrq:

变量zdrq声明为可变型数据类型。

3、zdrq=#2008-8-8#:

把日期2008-8-8赋给变量zdrq。

4、MsgBoxzdrq&"这天的日为:

"&Day(zdrq):

利用MsgBox函数显示Day(zdrq)的值。

  

?

Day函数返回一个其值为1到31之间的整数,表示一个月中的某一日。

语法

Day(date)

Day函数的参数:

date必要的,可以是任何能够表示日期的Variant、数值表达式、字符串表达式或它们的组合。

第例Dir函数

一、题目:

  要求编写一段代码,运用Dir函数返回一个文件夹的文件列表。

二、代码:

Sub?

示例_1_12()

Dimwjm

wjm=Dir("C:

\WINDOWS\")

MsgBoxwjm

wjm=Dir("C:

\WINDOWS\*.ini")

wjm=Dir

EndSub

三、代码详解

1、Sub示例_1_12():

宏程序的开始语句。

宏名为示例_1_12。

2、Dimwjm:

变量wjm声明为可变型数据类型。

3、wjm=Dir("C:

\WINDOWS\"):

如果该文件存在则返回“”(在C:

\Windows文件夹中),把返回的文件名赋给变量wjm。

如果该文件不存在则wjm=””。

4、wjm=Dir("C:

\WINDOWS\*.ini"):

返回带指定扩展名的文件名。

如果超过一个*.ini文件存在,函数将返回按条件第一个找到的文件名。

5、wjm=Dir:

若第二次调用Dir函数,但不带任何参数,则函数将返回同一目录下的下一个*.ini文件。

?

  Dir函数

返回一个字符串?

String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。

Dir[(pathname[,attributes])]

Dir函数的语法具有以下几个部分:

pathname可选参数。

用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。

如果没有找到pathname,则会返回零长度字符串("")。

attributes可选参数。

常数或数值表达式,其总和用来指定文件属性。

如果省略,则会返回匹配pathname但不包含属性的文件。

第例Fix函数

一、题目:

  要求编写一段代码,运用Fix函数返回某数值的整数部分。

二、代码:

Sub?

示例_1_13()

MsgBox“的整数部分是:

”&Fix

MsgBox“-的整数部分是:

”&Fix

EndSub

三、代码详解

1、Sub示例_1_13():

宏程序的开始语句。

宏名为示例_1_13。

2、MsgBox“的整数部分是:

”&Fix:

利用MsgBox函数显示Fix的值。

3、MsgBox“的整数部分是:

”&Fix:

利用MsgBox函数显示Fix的值。

?

Fix函数返回参数的整数部分。

语法

Fix(number)

number必要的是任何有效的数值表达式。

Int及Fix函数在返回某数值的整数部分时有何不同。

当参数为负数时,Int函数返回小于或等于该参数之最大整数,而Fix函数则返回大于或等于该参数之最小整数。

?

第例Format函数

一、题目:

  要求编写一段代码,运用Format函数对指定字符串返回指定格式的输出。

二、代码:

Sub?

示例_1_14()

Dimsj,rq

sj=“19:

08:

43”

rq=“2008-8-8”

MsgBoxsj&“的格式设为"hh:

mm:

ssAMPM":

”&Format(sj,"hh:

mm:

ssAMPM")'返回"07:

08:

43下午"。

MsgBoxrq&“的格式设为"dddd,mmmdyyyy":

”&Format(rq,"dddd,mmmdyyyy")

EndSub

三、代码详解

1、Sub示例_1_14():

宏程序的开始语句。

宏名为示例_1_14。

2、Dimsj,rq:

变量sj,rq声明为可变型数据类型。

3、sj=“19:

08:

43”:

把字符串”19:

08:

43”赋给变量sj。

4、rq=“2008-8-8”:

把字符串”2008-8-8”赋给变量rq。

5、MsgBoxsj&“的格式设为"hh:

mm:

ssAMPM":

”&Format(sj,"hh:

mm:

ssAMPM"):

利用MsgBox函数显示Format函数的值。

返回"07:

08:

43下午"。

6、MsgBoxrq&“的格式设为"dddd,mmmdyyyy":

”&Format(rq,"dddd,mmmdyyyy"):

  利用MsgBox函数显示Format函数的值。

代码执行后如图5-14所示。

  Format函数

根据有效的命名表达式来对指定的表达式进行格式化。

?

Format(expression[,format[,firstdayofweek[,firstweekofyear]]])

Format函数的语法具有下面几个部分:

expression必要参数。

任何有效的表达式。

format可选参数。

有效的命名表达式或用户自定义格式表达式。

firstdayofweek可选参数。

常数,表示一星期的第一天。

firstweekofyear可选参数。

常数,表示一年的第一周。

?

第例Hour函数

一、题目:

  要求编写一段代码,运用Hour函数对指定字符串返回小时数。

二、代码:

Sub?

示例_1_15()

Dimsj

sj="3:

45:

20PM"'指定一时间字符串。

MsgBoxsj&"的小时是:

"&Hour(sj)

EndSub

三、代码详解

1、Sub示例_1_15():

宏程序的开始语句。

宏名为示例_1_15。

2、Dimsj:

变量sj声明为可变型数据类型。

3、sj=“3:

45:

20PM”:

把字符串”3:

45:

20PM”赋给变量sj。

4、MsgBoxsj&"的小时是:

"&Hour(sj):

利用MsgBox函数显示Hour函数的值。

代码执行后如图5-15所示。

?

Hour函数

返回一个其值为0到23之间的整数,表示一天之中的某一钟点。

语法

Hour(time)

Time必要的参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合。

?

第例IIF函数

一、题目:

  要求编写一段代码,运用IIF函数根据判断条件返回结果。

二、代码:

Sub示例_1_16()

DimCheshiAsString,dxAsInteger

dx=560

Cheshi=IIF(dx>1000,"大","小")

MsgBoxdx&"比1000要"&Cheshi&""

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

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1