vba常用代码大全,推荐文档_第1页
vba常用代码大全,推荐文档_第2页
vba常用代码大全,推荐文档_第3页
vba常用代码大全,推荐文档_第4页
vba常用代码大全,推荐文档_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、刖言我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个, 功能强大,丰富多彩,但是在 VBA中不能直接应用,必须在函数名前面加上对象,比如:Applicatio n. WorksheetF un ctio n.Sum(arg1,arg2,arg3)。而能在VBA中直接应用的函数也有几十个, 下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。第1.1例ASC函数一、题目:要求编写一段代码,运行后得到字符串”Excel”的首字母和” e”的ASCII值。二、代码:Sub 示例 _1_01()Dim myNum1%, myNum2%myNum1 = Asc

2、(Excel) 返回 69myNum2 = Asc(e) 返回 101a1 = myNum1= : b1 = myNum1a2 = myNum2= : b2 = myNum2End Sub三、代码详解1、Sub示例_1_01():宏程序的开始语句。2、Dim myNum1%, myNum2% :变量 myNum1 和 myNum2 声明为整型变量。也可以写为 Dim myNum1 As Integer。Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。3、myNuml = Asc(Excel):把 A

3、sc 函数的值赋给变量 myNumlAsc函数返回一个Integer,代表字符串中首字母的字符的 ASCII代码。语法Asc(stri ng)必要的stri ng (字符串)参数可以是任何有效的字符串表达式。如果stri ng中没有包含任何字符,则会产生运行时错误。4、myNum2 = Asc(e):把Asc函数的值赋给变量 myNum2。这里返回小写字母 e的ASCII代码101“赋给A1单元“赋给A2单元5、 a1 = myNum1= : b1 = myNum1:把字符串“ myNum仁 格,把变量myNum1的值赋给B1单元格。6、 a2 = myNum2= : b2 = myNum2:

4、把字符串“ myNum2=格,把变量myNum2的值赋给B2单元格。7、End Sub :程序的结束语句,和“ Sub示例_1_01 ()”相对应。第1.2例Chr函数题目:要求编写一段代码,运用 Chr函数将ASCII值转换为对应的字符二、代码:Sub 示例 _1_02()Dim myChar1$, myChar2$myChar1 = Chr(69) 返回 E。myChar2 = Chr(101) 返回 e。a1 = myChar1= : b1 = myChar1 a2 = myChar2= : b2 = myChar2End Sub三、代码详解1、Sub示例_1_02():宏程序的开始语句

5、。2、Dim myChar1$, myChar2$ :变量 myCharl 和 myChar2 声明为字符串变量。 也可以写为Dim myCharl 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函

6、数根据字符代码返回一个字符。语法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、End Sub :程序的结束语句,和“ Sub示例_1_02 ()”相

7、对应。第1.3例Choose 函数、题目:要求编写一段代码,运用Choose函数根据指定数字选择对应的字符串、代码:Sub 示例 _1_03()Dim Num%Num=2MsgBox Choose(Num, 一月,二月,三月)End Sub三、代码详解1、Sub示例_1_03():宏程序的开始语句。宏名为示例_1_03。2、Dim Num% :变量Num 声明为整型变量。3、Num=2 :把2赋给变量Num 。4、MsgBox Choose(Num, 一月,二月,三月):Choose函数从参数列表中选择并返回一个值。语法Choose(i ndex, choice-1, choice-2, .

8、, 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

9、jiaodu = 1.3zenge = 1 / Cos(jiaodu)MsgBox “角度为 ” & jiaodu &“的正割的值=” &zengeEnd Sub三、代码详解1、Sub示例_1_04():宏程序的开始语句。宏名为示例_1_04。2、 Dim jiaodu, zenge:两个变量都被指定为可变型数据类型。当声明常数、变量或参数时,若无指定数据类型则会自动的指定成 Variant (可变型)数据类型。声明成Variant 数据类型的变量可以为字符串、日期、时间、Boolean或数值。3、 jiaodu = 1.3:把以“弧度”为单位的角度1.3赋给变量jiaodu。4、zenge

10、= 1 / Cos(jiaodu) :利用1/余弦算得正割(sec()的值,赋给变量zenge。Cos函数返回一个角的余弦值。其参数是表示一个以弧度为单位的角。5、MsgBox “角度为 ” & jiaodu &“的正割的值=” &zenge :利用 MsgBox 函数显示算得的正割(sec()的值。第1.5例Date函数一、题目:要求编写一段代码,运用 Date函数显示系统日期的值。二、代码:Sub 示例 _1_05()Dim myDatemyDate = DateMsgBox“系统日期为” & myDateEnd Sub三、代码详解1、Sub示例_1_05():宏程序的开始语句。宏名为示例

11、_1_052、Dim myDate :变量myDate被指定为可变型数据类型。3、 myDate = Date:把系统日期的值赋给变量 myDate 。Date函数返回系统当前的日期。4、MsgBox “系统日期为” & myDate :利用MsgBox函数显示系统日期的值。第1.6例DateAdd 函数一、题目:要求编写一段代码,运用 DateAdd函数显示返回一定间隔后的日期二、代码:Sub 示例 _1_06()Dim dyrq As DateDim jglx As StringDim n As In tegerDim Msgjglx = mdyrq = InputBox(请输入一个日期)

12、n = In putBox(输入增加月的数目:)Msg = 新日期:& DateAdd(jglx, n, dyrq)MsgBox MsgEnd 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(输入增加月的数目

13、:):用InputBox函数来让用户输入间隔月的数目,并把用户输入的值赋给变量 n。6、Msg =新日期:& DateAdd(jglx, n, dyrq) :用DateAdd 函数计算得到的新的日期和字符串“新日期:”连接起来赋给变量Msg。DateAdd函数返回一个日期,这一日期加上了一个时间间隔。语法DateAdd(i nterval, nu mber, date)DateAdd 函数语法中有下列命名参数:in terval必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,比如”m ”为月;” d”为日;” yyyy ”为年等等。number 必要。数值表达式,是要加上的时间间

14、隔的数目。其数值可以为正数(得到 未来的日期),也可以为负数(得到过去的日期)。date必要。表示日期的文字。7、MsgBox Msg :利用MsgBox 函数显示 Msg的值。第1.7例DateDiff函数一、题目:要求编写一段代码,运用 DateDiff函数返回某个指定日期距离今天的天数。二、代码:Sub 示例 _1_07()Dim zdrq As DateDim Msgzdrq = In putBox(请输入一个日期:)Msg = 离开今天的天数:& DateDiff(d, Now, zdrq)MsgBox MsgEnd Sub三、代码详解1、Sub示例_1_07():宏程序的开始语句。

15、宏名为示例_1_07。2、Dim zdrq As Date :变量zdrq声明为日期对象型数据类型。3、 zdrq = InputBox( 请输入一个日期):用InputBox函数来让用户输入一个日期,并 把用户输入的日期赋给变量zdrq。4、Msg =离开今天的天数:& DateDiff(d, Now, zdrq) :用 DateDiff 函数计算得到的结果和字符串“离开今天的天数:”连接起来赋给变量Msg。5、MsgBox Msg :利用MsgBox 函数显示 Msg的值。DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用DateDiff来计算两个日期之间相隔

16、几日,或计算从今天起到年底还有多少个星期。DateDiff(i nterval, date1, date2, firstdayofweek, firstweekofyear)DateDiff函数语法中有下列命名参数:interval必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与DateAdd函数相同;此例中的d,表示天数;Date1,date2 必要;计算中要用到的两个日期Firstdayofweek可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为 第一天。firstweekofyear可选。指定一年的第一周的常数。如果未予指定,则以包含1月1日的星期为第一周。第

17、1.8例DatePart函数一、题目:要求编写一段代码,运用 DatePart函数返回某个指定日期是在一年的哪一个季度。二、代码:Sub 示例 _1_08()Dim zdrq As DateDim Msgzdrq = InputBox(请输入一个日期:)Msg = 季度:& DatePart(q, zdrq)MsgBox MsgEnd Sub三、代码详解1、Sub示例_1_08():宏程序的开始语句。宏名为示例_1_08。2、Dim zdrq As Date :变量zdrq声明为日期对象型数据类型。3、zdrq = InputBox( 请输入一个日期):用InputBox函数来让用户输入一个日

18、期,并 把用户输入的日期赋给变量zdrq。4、Msg =季度:& DatePart(q, zdrq) :用DatePart函数计算得到的结果和字符串“季度:”连接起来赋给变量Msg。5、MsgBox Msg :利用MsgBox函数显示 Msg的值。DatePart 函数DatePart(i nterval, date, , firstdayofWeek, firstweekofyear)语法中有下列命名参数:interval必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与DateAdd 函数相同;此例中的q,表示季度;Date,必要;计算中要用到的两个日期。Firstdayof

19、week可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。firstweekofyear可选。指定一年的第一周的常数。如果未予指定,则以包含1月1日的星期为第一周。第 1.9 例 DateSerial 函数一、题目:要求编写一段代码,运用 DateSerial函数返回指定日期的Date类型二、代码:Sub 示例 _1_09()Dim zdrqzdrq = DateSerial(2008, 8, 8)MsgBox zdrqEnd Sub三、代码详解1、Sub示例_1_09():宏程序的开始语句。宏名为示例_1_09。2、Dim zdrq :变量zdrq声明为可变型数据类型3、z

20、drq = DateSerial(2008, 8, 8):DateSerial函数转换所得的结果赋给变量zdrqDateSerial函数返回指定日期年月曰的日期格式。 语法DateSerial(year, mon th, day)DateSerial函数语法有下列的命名参数:year必要;整型。从100到9999间的整数,或一数值表达式。mon th必要;整型。任何数值表达式。day必要;整型。任何数值表达式。4、MsgBox zdrq :利用 MsgBox函数显示zdrq的值。第 1.10 例 DateValue 函数一、题目:要求编写一段代码,运用 DateValue函数返回指定日期的Da

21、te类型二、代码:Sub 示例 _1_010()Dim zdrqzdrq = DateValue(August 8, 2008)MsgBox zdrqEnd Sub三、代码详解1、Sub示例_1_010():宏程序的开始语句。宏名为示例_1_010。2、Dim zdrq :变量zdrq声明为可变型数据类型。3、zdrq = DateValue(August 8, 2008): DateSerial 函数转换所得的结果赋给变量zdrq。4、MsgBox zdrq :利用 MsgBox函数显示zdrq的值。DateValue 函数将字符串转换为日期格式语法DateValue (date)DateV

22、alue 函数的参数:date 必要;通常是字符串表达式,表示从 100年1月1日到9999年12月31日之间的一个日期。但是,date也可以是任何表达式,其所代表的日期、时间在上述范围内。第1.11例Day函数一、题目:要求编写一段代码,运用 Day函数返回指定日期的日二、代码:Sub 示例 _1_11()Dim zdrqzdrq = #2008-12-8#MsgBox zdrq & 这天的日为:& Day(zdrq)End Sub三、代码详解1、Sub示例_1_11():宏程序的开始语句。宏名为示例_1_11。2、Dim zdrq :变量zdrq声明为可变型数据类型。3、 zdrq = #

23、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()Dim wjmwjm = Dir(C:WINDOWSWIN.i ni)MsgBo

24、x wjmwjm = Dir(C:WINDOWS*i ni)wjm = DirEnd Sub三、代码详解1、Sub示例_1_12():宏程序的开始语句。宏名为示例_1_12。2、Dim wjm :变量wjm声明为可变型数据类型。3、wjm = Dir(C:WINDOWSWIN.ini)如果该文件存在则返回“ WIN.INI ”(在C:Windows文件夹中),把返回的文件名赋 给变量wjm。如果该文件不存在则 wjm= ”。4、wjm = Dir(C:WINDOWS*ini)返回带指定扩展名的文件名。如果超过一个*.ini文件存在,函数将返回按条件第一个找到的文件名。5、wjm = Dir :

25、若第二次调用Dir函数,但不带任何参数,贝U函数将返回同一目录下的下一个*.ini文件。Dir函数返回一个字符串String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模 式或文件属性、或磁盘卷标相匹配。Dir(path name, attributes)Dir函数的语法具有以下几个部分:path name可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到path name,则会返回零长度字符串()。attributes可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配path name但不包含属性的文件。第1.13例Fi

26、x函数、题目:要求编写一段代码,运用Fix函数返回某数值的整数部分。、代码:Sub 示例 _1_13()MsgBox “99.8的整数部分是:& Fix(99.8)MsgBox “ 99.8 的整数部分是:” & Fix(-99.8)End Sub三、代码详解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函数返回参数的整

27、数部分。语法Fix( nu mber)number必要的是任何有效的数值表达式。Int及Fix函数在返回某数值的整数部分时有何不同。当参数为负数时,Int函数返回小于或等于该参数之最大整数,而 Fix函数则返回大于或等于该参数之最小整数。第1.14例Format函数一、题目:要求编写一段代码,运用Format函数对指定字符串返回指定格式的输出二、代码:Sub 示例 _1_14()Dim sj, rqsj =“19:08:43rq =“ 2008-8-8& Format(sj, hh:mm:ss& Format(rq, dddd, mmmMsgBox sj &“ 的格式设为hh:mm:ss AM

28、PMAMPM)返回07:08:43 下午。MsgBox rq &“ 的格式设为dddd, mmm d yyyy d yyyy)End Sub三、代码详解1、Sub示例_1_14():宏程序的开始语句。宏名为示例_1_14 2、Dim sj,rq :变量sj,rq声明为可变型数据类型。3、 sj = “ 19:08:43 ”:把字符串” 19:08:43 ”赋给变量 sj。4、 rq = “ 2008-8-8 ”:把字符串” 2008-8-8 ”赋给变量 rq。5、 MsgBox sj &“的格式设为hh:mm:ss AMPM : ” & Format(sj, hh:mm:ssAMPM):利用M

29、sgBox函数显示Format函数的值。返回07:08:43下午。6、MsgBox rq &“ 的格式设为dddd, mmm d yyyy :” & Format(rq, dddd, mmm d yyyy):利用MsgBox函数显示Format函数的值。代码执行后如图5-14所示。Format函数根据有效的命名表达式来对指定的表达式进行格式化Format(expressi on, format, firstdayofweek, firstweekofyear)Format函数的语法具有下面几个部分:expression必要参数。任何有效的表达式。format可选参数。有效的命名表达式或用户自定

30、义格式表达式firstdayofweek可选参数。常数,表示一星期的第一天firstweekofyear可选参数。常数,表示一年的第一周。第1.15例Hour函数一、题目:要求编写一段代码,运用Hour函数对指定字符串返回小时数。二、代码:Sub 示例 _1_15()Dim sjsj = 3:45:20 PM指定一时间字符串。MsgBox sj & 的小时是:& Hour(sj)End Sub三、代码详解1、Sub示例_1_15():宏程序的开始语句。宏名为示例_1_15。2、Dim sj :变量sj声明为可变型数据类型。3、sj =“3:45:20 PM ” :把字符串” 3:45:20 P

31、M ”赋给变量 sj。4、 MsgBox sj & 的小时是:& Hour(sj):利用MsgBox函数显示Hour函数的值。代码执行后如图 5-15所示Hour函数返回一个其值为0到23之间的整数,表示一天之中的某一钟点语法Hour(time)Time必要的参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合第1.16例IIF函数一、题目:要求编写一段代码,运用IIF函数根据判断条件返回结果。二、代码:Sub 示例 _1_16()Dim Cheshi As String, dx As In tegerdx = 560Cheshi = IIF(dx 1000, 大,小)MsgBo

32、x dx & 比 1000 要& Cheshi & & Abs(1000 - dx)End Sub三、代码详解1、Sub示例_1_16():宏程序的开始语句。宏名为示例_1_16。dx2、 Dim Cheshi As String, dx As Integer:变量 Cheshi 声明为字符串数据类型,声明为整型。3、dx= 560:把数字560赋给变量dx。4、Cheshi = IIF(dx 1000, 大,小):根据变量dx是否大于1000的条件来判断,并且把返回的结果赋给变量Cheshi。5、MsgBox dx & 比 1000 要& Cheshi & & Abs(1000 - dx)

33、:利用MsgBox函数显示最后的值。其中 Abs函数是取表达式的绝对值函数。IIF函数根据表达式的值,来返回两部分中的其中一个IIF(expr, truepart, falsepart)IIF函数的语法含有下面这些命名参数:expr必要参数。用来判断真伪的表达式。truepart必要参数。如果expr为True,则返回这部分的值或表达式。falsepart必要参数。如果expr为False,则返回这部分的值或表达式第1.17例InputBox 函数一、题目:要求编写一段代码,运用In putBox函数,用户输入一定范围的数值并返回结果。二、代码:Sub Sub 示例_1_17()Dim Msg

34、$, bt$, Default$, MyValue,aaMsg = 输入一个10到25之间的数值:bt = InputBox函数示例Default = 10设置缺省值。100 :MyValue = In putBox(Msg,bt, Default)If MyValue 25 The naa = MsgBox( 输入数值超出范围,请重新输入或者退出。,1)If aa vbOK Then Exit SubGoTo100ElseMsgBox 你输入的是& MyValueEnd IfEnd Sub三、代码详解1、Sub示例_1_17():宏程序的开始语句。宏名为示例_1_17。2、Dim Msg$,

35、 bt$. Default, MyValue,aa:变量 Msg、Default 和 bt 声明为字符串数据类型,其它的没有显式声明,都为可变型数据类型。3、Msg =输入一个10到25之间的数值::设置提示信息,把字符串赋给变量Msg。4、 bt = InputBox函数示例:设置标题,把字符串赋给变量 bt。5、 Default = 10:设置缺省值,把字符串赋给变量 Default。6、MyValue = InputBox(Msg,bt, Default):通过 InputBox 函数显示信息、标题及缺省值,把函数返回值赋给变量 MyValue。7、If MyValue 25 Then

36、:如果 InputBox 函数返回的数值小于 10 或者大于25,那么执行下面的语句。8、 aa = MsgBox(输入数值超出范围,请重新输入或者退出。,1):如果InputBox函 数返回的数值超出了范围,显示一个消息框,消息框里面的第2个参数是1,表示消息框上有两个按钮:“确定”和“取消”按钮。并把消息框返回的结果赋给变量aa。9、 If aa vbOK Then Exit Sub:如果用户按了消息框上的“取消”按钮,就退出本程序。10、 GoTo 100 :如果用户按了消息框上的“确定”按钮,就转而从行号100开始执行 代码。11、 MsgBox 你输入的是& MyValue:如果用户

37、输入了符合要求的数值,按了回车 键或者“确定”按钮,消息框显示用户输入的值。In putBox 函数在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。语法In putBox(prompt, title , default , xpos , ypos , helpfile, con text)In putBox函数的语法具有以下几个命名参数:Prompt必需的。作为对话框消息出现的字符串表达式。Prompt的最大长度大约是1024个字符,由所用字符的宽度决定。如果Prompt包含多个行,则可在各行之间用回车符(Chr(13)、换行符(Chr(10)或回车换行符的组

38、合(Chr(13) & Chr(10)来分隔。Title可选的。显示对话框标题栏中的字符串表达式。如果省略Title,则把应用程序名放入标题栏中。Default可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略Default,贝U文本框为空。其它参数省略,请参见Excel帮助文件。第1.18例Instr函数一、题目:要求编写一段代码,运用In str函数,在一字符串中查找另一字符串并返回结果。二、代码:Sub 示例 _1_18()Dim bssStri ng, yczChar, wzbssStri ng =ABpAApCDPBBPyczChar = PMsgBox bss

39、Stri ng = ABpAApCDPBBP & Chr(10) & _yczChar= P 时:& Chr(10) & Chr(10) & _InStr(4, bssString, yczChar, 1) 返回值为& _In Str(4, bssStri ng, yczChar, 1)wz = In str(1, bssStri ng, yczChar, 0)返回9wz = In str(bssStri ng,yczChar) wz = In str(1, bssStri ng, W) 返回 0。End Sub三、代码详解1、Sub示例_1_18():宏程序的开始语句。宏名为示例_1_18。

40、2、 Dim bssString, yczChar, wz:变量 bssString、yczChar 和 ws 声明为可变型变量。3、 bssString =ABpAApCDXPBBP:把被搜索的字符串赋给变量 bssString。4、yczChar = P:把要查找的字符 P赋给变量yczChar。5、MsgBox bssString = ABpAApCDPBBP & Chr(10) & _yczChar= P 时:& Chr(10) & Chr(10) & _InStr(4, bssString, yczChar, 1) 返回值为& _In Str(4, bssStri ng, yczCh

41、ar, 1):用消息框显示从第四个字符开始,以文本比较的方式找字符P,返回值为6 (小写p的位置)。小写p和大写P在文本比较下是一样的,也就是 当函数的最后一个参数为1时,查找不分大小写。把要查找的字符P的位置赋给变量yczChar。式中Chr(10)是换行符。6、 wz = Instr(1, bssString, yczChar, 0):从第一个字符开始,以二进制比较的方式查找,返回值为9 (大写P的位置)。小写p和大写P在二进制比较下是不一样的,也就是 当函数的最后一个参数为0时,查找分大小写。把查找到的字符 P的位置赋给变量wz。7、 wz = Instr(bssString, yczC

42、har):上一句也可写成这样的,因为缺省的比对方式为二进制比较(最后一个参数可省略)。第一个参数省略默认从第一个字符开始查找。返回 值为9。8、wz = Instr(1,bssString, ” W ”):在被搜索的字符串中查找字符 W,由于没找到返 回值为0。In Str函数返回Varia nt (Lo ng),指定一字符串在另一字符串中最先出现的位置 语法In Str(start, stri ngl, stri ng2, compare)In Str函数的语法具有下面的参数: start可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置 开始。如果指定了 compa

43、re参数,则一定要有start参数。strin g1 必要参数。接受搜索的字符串表达式。strin g2必要参数。被搜索的字符串表达式。Compare 可选参数。指定字符串比较。如果省略compare ,Option Compare的设置将 决定比较的类型。compare 参数设置为:常数描述vbUseCompareOpti on-1使用Option Compare语句设置执行一个比较。vbB in aryCompare执行一个二进制比较。vbTextCompare执行一个按照原文的比较。vbDatabaseCompare仅适用于Microsoft Access ,执行一个基于数据库中信息的比

44、较。第1.19例InstrRev函数一、题目:InstrRev函数,返回一个字符串在另一个字符串中出现的位置,要求编写一段代码,运用 从字符串的末尾算起。二、代码:Sub 示例 _1_19()Dim bssStri ng, yczChar, wz bssStri ng =ABpAApCDPBBPyczChar = pws = In strRev(bssStri ng, yczChar, 4,1)MsgBox wsEnd Sub三、代码详解1、Sub示例_1_19():宏程序的开始语句。宏名为示例_1_19。2、Dim bssString, yczChar, wz :变量 bssString、y

45、czChar 和 ws 声明为可变型变量。3、bssString =ABpAApCDXPBBP :把被搜索的字符串赋给变量 bssString。4、 yczChar = p:把要查找的字符 P赋给变量yczChar。5、 wz = InstrRev( bssString, yczChar,4,1):从第4个字符开始,按原文比较的方式从末尾往前查找字符p,返回值为3。InStrRev 函数返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。语法In strRev(stri ngcheck, stri ngmatch, start, compare)InstrRev函数语法有如下命名参数

46、:strin gcheck必需的。要执行搜索的字符串表达式。strin gmatch必需的。要搜索的字符串表达式。start可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则表示从字符串末尾位 置开始搜索。compare 可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。compare 参数值如下:常数值描述vbUseCompareOption - 1用Option Compare 语句的设置值来执行比较。vbB in aryCompare0执行二进制比较。区分大小写vbTextCompare执行文字比较。不区分大小写vbDatabaseCompare 2

47、 只用于Microsoft Access 。基于您的数据库信息执行比较。6、MsgBox ws :用消息框显示查找返回的值 3。第1.20例IsArray 函数一、题目:要求编写一段代码,运用IsArray函数,返回一个变量是否为一个数组、代码:Sub 示例 _1_20()Dim Arr1(1 To 8,1 to 3) As In teger, Arr2Arr2 = Array(1,2, 3,4,5)MsgBox“Arr1 是否为数组:”& IsArray(Arr1)返回 True。MsgBox“Arr2 是否为数组:”& IsArray(Arr2)返回 True。End Sub三、代码详解1

48、、Sub示例_1_20():宏程序的开始语句。宏名为示例_1_20。2、Dim Arr1(1 To 8,1 to 3) As Integer, Arr2:声明变量 Arr1 为整型数组、Arr2 为可变型变量。3、Arr2 = Array(1,2, 3,4,5) :用 Array 函数赋值给 Arr2。Array函数返回一个包含数组的Variant。语法Array(arglist)所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为0的数组 使用Array函数创建的数组的下界受Option Base语句指定的下界的

49、决定,默认为 0。IsArray 函数返回Boolean值,指出变量是否为一个数组。语法IsArray(var name)必要的varname参数是一个指定变量的标识符。如果变量是数组,则IsArray返回True ;否则返回False。对于包含数组的variant表达 式来说,IsArray尤为有用。4、MsgBox “Arr1是否为数组:” & IsArray(Arr1) :用消息框显示Arr1是否为数组。第 1.21 例 IsNumeric 函数一、题目:要求编写一段代码,运用IsNumeric函数,返回一个变量是否为一个数值。二、代码:Sub 示例 _1_21()Dim bl,bl1b

50、l = 530.25MsgBox 变量 bl 是否为数值:& IsNumeric(bl)bl1 = 4500 CmMsgBox 变量 bl1 是否为数值:& IsNumeric(bl1)End Sub三、代码详解1、Sub示例_1_21():宏程序的开始语句。宏名为示例_1_21。2、Dim bl , bl1 :声明变量bl,bl1为可变型变量。3、bl = 530.25:把数值530.25赋给变量bl4、MsgBox 变量bl是否为数值:& IsNumeric(bl) :用消息框显示IsNumeric 函数判断的变量bl是否为数值,返回True。5、bl1 = 4500 Cm:把字符串“ 4

51、500 Cm ”赋给变量 bl1。4、MsgBox 变量bl1 是否为数值:& IsNumeric(bl1) :用消息框显示IsNumeric 函数判断的变量bl1是否为数值,返回False。IsNumeric 函数返回Boolean值,返回变量是否为一个数值。IsNumeric(expressi on)必要的expression参数是一个Variant,包含数值表达式或字符串表达式。第1.22例Join函数一、题目:要求编写一段代码,运用Join函数,通过连接某个数组中的多个子字符串而创建的一个字 符串。二、代码:Sub 示例 _1_022()Dim ssss=Array( 一月,二月,三月

52、)A1=Join(ss, ”,”)End Sub三、代码详解1、Sub示例_1_022():宏程序的开始语句。宏名为示例_1_022。2、Dim ss:声明变量ss为可变型变量。3、ss=Array( 一月,二月,三月):把Array函数得到的一维数组赋给变量 ss。4、A1=Join(ss, ”,”):把数组ss的各个元素用逗号连接起来赋给 A1单元格。返回”口 一口 * 口 ”一月,二月,三月 ;如果省略分隔符A1=Join(ss) 则用空格来分隔,返回”一月 二月三月”;如果分隔符是零长度字符串() A1=Join(ss, ”)则没有分隔符了,返回”一月二月三 月”。Join函数返回一个

53、字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。Join( sourcearray, delimiter)Join函数语法有如下命名参数:sourcearray必需的。包含被连接子字符串的一维数组。delimiter可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格()来分隔子字符串。如果delimiter是零长度字符串(),则列表中的所有项目都连接 在一起,中间没有分隔符。第 1.23 例 LBound 和 UBound 函数一、题目:要求编写一段代码,运用LBound函数,返回数组的指定维数的最小可用下界;运用UBound函数,返回数组的指定维数的最大可用上界。二、代码:Sub 示例 _1_023()Dim Arr(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论