VBA常用代码大全.docx
《VBA常用代码大全.docx》由会员分享,可在线阅读,更多相关《VBA常用代码大全.docx(11页珍藏版)》请在冰豆网上搜索。
VBA常用代码大全
.、八、-
刖言
我们平时在工作表单元格的公式中常常使用函数,EGcel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:
Application.WorksheetFunction.Sum(arg1,arg2,arg3)。
而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。
第1.1例ASC函数
一、题目:
要求编写一段代码,运行后得到字符串”EGcel”的首字母和”e”的ASCII值。
二、代码:
Sub示例_1_01()
DimmyNum1%,myNum2%
myNum仁Asc("EGcel")'返回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("EGcel"):
把Asc函数的值赋给变量myNum1。
Asc函数返回一个Integer,代表字符串中首字母的字符的ASCII代码。
语法
Asc(string)
必要的string(字符串)参数可以是任何有效的字符串表达式。
如果string中没有包含任
何字符,则会产生运行时错误。
4、myNum2=Asc("e"):
把Asc函数的值赋给变量myNum2。
这里返回小写字母e的ASCII代码101。
5、[a1]="myNum仁":
[b1]=myNum1:
把字符串“myNum仁“赋给A1单元格,把变
量myNum1的值赋给B1单元格。
6、[a2]="myNum2=":
[b2]=myNum2:
把字符串“myNum2=“赋给A2单元格,把变
量myNum2的值赋给B2单元格。
7、EndSub:
程序的结束语句,和“Sub示例_1_01()”相对应。
第1.2例Chr函数
一、题目"":
要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符
二、代码:
Sub示例_1_02()
DimmyChar1$,myChar2$
myChar仁Chr(69)'返回E。
myChar2=Chr(101)'返回e。
[a1]="myChar1=":
[b1]=myChar1
[a2]="myChar2=":
[b2]=myChar2
EndSub
三、代码详解
1、Sub示例_1_02():
宏程序的开始语句。
2、DimmyChar1$,myChar2$:
变量myCharl和myChar2声明为字符串变量。
也可以写为DimmyCharlAsString。
String之字符码的范围是0到255。
字符集的前128个字符(0到127)对应于标准的U.S.键盘上的字符与符号。
这前128个字符与ASCII字符集中所定义的相同。
后128个字符(128到255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。
String的类型声明字符为美元号($)。
3、myChar仁Chr(69):
把Chr(69)的值赋给变量myChar1。
这里返回大写字母E。
Chr函数根据字符代码返回一个字符。
语法
Chr(charcode)
必要的charcode(字符代码)参数是用来识别某字符的。
4、myChar2=Chr(101):
把Chr函数的值赋给变量myChar2。
这里返回小写字母e。
5、[a1]="myChar仁":
[b1]=myChar1:
把字符串“myChar仁“赋给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
MsgBoGChoose(Num,"—月","二月","三月")
EndSub
三、代码详解
1、Sub示例_1_03():
宏程序的开始语句。
宏名为示例_1_03。
2、DimNum%:
变量Num声明为整型变量。
3、Num=2:
把2赋给变量Num。
4、MsgBoGChoose(Num,"一月","二月","三月"):
Choose函数从参数列表中选择并返回一个值。
语法
Choose(indeG,choice-1[,choice-2,...[,choice-n]])
Choose会根据indeG的值来返回选择项列表中的某个值。
如果indeG是1,则Choose会返回列表中的第1个选择项。
如果indeG是2,则会返回列表中的第2个选择项,以此类推。
IndeG是必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选择的项目数之间。
当indeG小于1或大于列出的选择项数目时,Choose函数返回Null。
如果indeG不是整数,则会先四舍五入为与其最接近的整数。
第1.4例Cos函数
一、题目:
要求编写一段代码,运用Cos函数根据指定角度的余弦计算其正割的值。
二、代码:
Sub示例_1_04()
Dimjiaodu,zenge
jiaodu=1.3zenge=1/Cos(jiaodu)
MsgBoG“角度为”&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、MsgBoG“角度为”&jiaodu&“的正割的值=”&zenge:
利用MsgBoG函数显示算得的正割(sec())的值。
第1.5例Date函数
一、题目:
要求编写一段代码,运用Date函数显示系统日期的值。
二、代码:
Sub示例_1_05()
DimmyDate
myDate=Date
MsgBoG“系统日期为”&myDate
EndSub
三、代码详解
1、Sub示例_1_05():
宏程序的开始语句。
宏名为示例_1_05。
2、DimmyDate:
变量myDate被指定为可变型数据类型。
3、myDate=Date:
把系统日期的值赋给变量myDate。
Date函数返回系统当前的日期。
4、MsgBoG“系统日期为”&myDate:
利用MsgBoG函数显示系统日期的值。
第1.6例DateAdd函数
一、题目:
要求编写一段代码,运用DateAdd函数显示返回一定间隔后的日期。
二、代码:
Sub示例_1_06()
DimdyrqAsDate
DimjgIGAsString
DimnAsInteger
DimMsg
jglG="m"
dyrq=InputBoG(”请输入一个日期")
n=InputBoG("输入增加月的数目:
")
Msg="新日期:
"&DateAdd(jglG,n,dyrq)
MsgBoGMsg
EndSub
三、代码详解
1、Sub示例_1_06():
宏程序的开始语句。
宏名为示例_1_06。
2、DimdyrqAsDate:
变量dyrq声明为日期对象型数据类型。
其余几个变量分别是字符
串型、整型和可变型变量。
3、jglG="m":
用字符m来指定以“月份”作为间隔。
4、dyrq=lnputBoG(”请输入一个日期"):
用InputBoG函数来让用户输入一个日期,并把用户输入的日期赋给变量dyrq。
5、n=lnputBoG("输入增加月的数目:
"):
用InputBoG函数来让用户输入间隔月的数目,并把用户输入的值赋给变量n。
6、Msg="新日期:
"&DateAdd(jglG,n,dyrq):
用DateAdd函数计算得到的新的日期和字符串“新日期:
”连接起来赋给变量Msg。
DateAdd函数返回一个日期,这一日期加上了一个时间间隔。
语法
DateAdd(interval,number,date)
DateAdd函数语法中有下列命名参数:
interval必要。
字符串表达式,是所要加上去的时间间隔。
它具有好多设定值,比如”m
为月;”d”为日;”yyyy”为年等等。
number必要。
数值表达式,是要加上的时间间隔的数目。
其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date必要。
表示日期的文字。
7、MsgBoGMsg:
利用MsgBoG函数显示Msg的值。
第1.7例DateDiff函数
一、题目:
要求编写一段代码,运用DateDiff函数返回某个指定日期距离今天的天数
二、代码:
Sub示例_1_07()
DimzdrqAsDate
DimMsg
zdrq=InputBoG(”请输入一个日期:
")
Msg="离开今天的天数:
"&DateDiff("d",Now,zdrq)
MsgBoGMsg
EndSub
三、代码详解
1、Sub示例_1_07():
宏程序的开始语句。
宏名为示例_1_07。
2、DimzdrqAsDate:
变量zdrq声明为日期对象型数据类型。
3、zdrq=InputBoG(”请输入一个日期"):
用InputBoG函数来让用户输入一个日期,并
把用户输入的日期赋给变量zdrq。
4、Msg="离开今天的天数:
"&DateDiff("d",Now,zdrq):
用DateDiff函数计算得到的结
果和字符串“离开今天的天数:
”连接起来赋给变量Msg。
5、MsgBoGMsg:
利用MsgBoG函数显示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=InputBoG(”请输入一个日期:
")
Msg="季度:
"&DatePart("q",zdrq)
MsgBoGMsg
EndSub
三、代码详解
1、Sub示例_1_08():
宏程序的开始语句。
宏名为示例_1_08。
2、DimzdrqAsDate:
变量zdrq声明为日期对象型数据类型。
3、zdrq=InputBoG(”请输入一个日期"):
用InputBoG函数来让用户输入一个日期,并
把用户输入的日期赋给变量zdrq。
4、Msg="季度:
"&DatePart("q",zdrq):
用DatePart函数计算得到的结果和字符串“季
度:
”连接起来赋给变量Msg。
5、MsgBoGMsg:
利用MsgBoG函数显示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(20XX,8,8)
MsgBoGzdrq
EndSub
三、代码详解
1、Sub示例_1_09():
宏程序的开始语句。
宏名为示例_1_09。
2、Dimzdrq:
变量zdrq声明为可变型数据类型。
3、zdrq=DateSerial(20XX,8,8):
DateSerial函数转换所得的结果赋给变量zdrq
DateSerial函数返回指定日期年月曰的日期格式。
语法
DateSerial(year,month,day)
DateSerial函数语法有下列的命名参数:
year必要;整型。
从100到9999间的整数,或一数值表达式。
month必要;整型。
任何数值表达式。