vba常用代码大全.docx
《vba常用代码大全.docx》由会员分享,可在线阅读,更多相关《vba常用代码大全.docx(61页珍藏版)》请在冰点文库上搜索。
![vba常用代码大全.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/2947daba-d898-4adb-ae20-4d7a3420b525/2947daba-d898-4adb-ae20-4d7a3420b5251.gif)
vba常用代码大全
vba常用代码大全
LT
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)对应于标准的 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、EndSub:
程序的结束语句,和“Sub示例_1_02()”相对应。
第1.3例 Choose函数
一、题目:
要求编写一段代码,运用Choose函数根据指定数字选择对应的字符串。
二、代码:
Sub 示例_1_03()
DimNum%
Num=2
MsgBox Choose(Num,"一月","二月","三月")
EndSub
三、代码详解
1、Sub 示例_1_03():
宏程序的开始语句。
宏名为示例_1_03。
2、DimNum% :
变量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()
Dimjiaodu,zenge
jiaodu=1.3
zenge=1/ Cos(jiaodu)
MsgBox “角度为 ” &jiaodu& “的正割的值= ” &zenge
EndSub
三、代码详解
1、Sub 示例_1_04():
宏程序的开始语句。
宏名为示例_1_04。
2、Dimjiaodu,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()
DimmyDate
myDate=Date
MsgBox “系统日期为 ” &myDate
EndSub
三、代码详解
1、Sub 示例_1_05():
宏程序的开始语句。
宏名为示例_1_05。
2、DimmyDate :
变量myDate被指定为可变型数据类型。
3、myDate=Date :
把系统日期的值赋给变量myDate。
Date函数返回系统当前的日期。
4、MsgBox “系统日期为 ” &myDate :
利用MsgBox函数显示系统日期的值。
第1.6例 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、MsgBox Msg :
利用MsgBox函数显示Msg的值。
第1.7例 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、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()
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、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)
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、MsgBox zdrq :
利用MsgBox函数显示zdrq的值。
第1.10例 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、MsgBox zdrq :
利用MsgBox函数显示zdrq的值。
DateValue函数
将字符串转换为日期格式。
语法
DateValue(date)
DateValue 函数的参数:
date 必要;通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。
但是,date 也可以是任何表达式,其所代表的日期、时间在上述范围内。
第1.11例 Day函数
一、题目:
要求编写一段代码,运用Day函数返回指定日期的日。
二、代码:
Sub 示例_1_11()
Dimzdrq
zdrq=#2008-12-8#
MsgBox zdrq&" 这天的日为:
"&Day(zdrq)
EndSub
三、代码详解
1、Sub 示例_1_11():
宏程序的开始语句。
宏名为示例_1_11。
2、Dimzdrq :
变量zdrq声明为可变型数据类型。
3、zdrq=#2008-8-8# :
把日期2008-8-8赋给变量zdrq。
4、MsgBox zdrq&" 这天的日为:
"&Day(zdrq):
利用MsgBox函数显示Day(zdrq)的值。
Day函数返回一个其值为 1 到 31 之间的整数,表示一个月中的某一日。
语法
Day(date)
Day 函数的参数:
date必要的,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。
第1.12例 Dir函数
一、题目:
要求编写一段代码,运用Dir函数返回一个文件夹的文件列表。
二、代码:
Sub 示例_1_12()
Dimwjm
wjm=Dir("C:
\WINDOWS\WIN.ini")
MsgBoxwjm
wjm=Dir("C:
\WINDOWS\*.ini")
wjm=Dir
EndSub
三、代码详解
1、Sub 示例_1_12():
宏程序的开始语句。
宏名为示例_1_12。
2、Dimwjm :
变量wjm声明为可变型数据类型。
3、wjm=Dir("C:
\WINDOWS\WIN.ini") :
如果该文件存在则返回“WIN.INI”(在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 但不包含属性的文件。
第1.13例 Fix函数
一、题目:
要求编写一段代码,运用Fix函数返回某数值的整数部分。
二、代码:
Sub 示例_1_13()
MsgBox “99.8的整数部分是:
” &Fix(99.8)
MsgBox “-99.8的整数部分是:
” &Fix(-99.8)
EndSub
三、代码详解
1、Sub 示例_1_13():
宏程序的开始语句。
宏名为示例_1_13。
2、MsgBox “99.8的整数部分是:
” &Fix(99.8) :
利用MsgBox函数显示Fix(99.8)的值。
3、MsgBox “-99.8的整数部分是:
” &Fix(-99.8) :
利用MsgBox函数显示Fix(-99.8)的值。
Fix函数返回参数的整数部分。
语法
Fix(number)
number 必要的 是任何有效的数值表达式。
Int 及 Fix 函数在返回某数值的整数部分时有何不同。
当参数为负数时,Int 函数返回小于或等于该参数之最大整数,而 Fix 函数则返回大于或等于该参数之最小整数。
第1.14例 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 可选参数。
常数,表示一年的第一周。
第1.15例 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 必要的参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合。
第1.16例