《Excel常用VBA函数精选应用.pdf》由会员分享,可在线阅读,更多相关《Excel常用VBA函数精选应用.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ExcelExcel 常用常用 VBAVBA 函数精选应用函数精选应用ASCASC 函数函数一、题目:要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的 ASCII值。二、代码:Sub 示例_1_01()Dim myNum1%,myNum2%myNum1=Asc(Excel)返回 69 myNum2=Asc(e)返回 101 a1=myNum1=:b1=myNum1 a2=myNum2=:b2=myNum2End Sub三、代码详解 1、Sub 示例_1_01():宏程序的开始语句。2、Dim myNum1%,myNum2%:变量 myNum1 和 myNum2 声明为整型变量
2、。也可以写为 Dim myNum1 As Integer。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 函数的值赋给变量 m
3、yNum2。这里返回小写字母 e 的 ASCII 代码 101。5、a1=myNum1=:b1=myNum1:把字符串“myNum1=“赋给 A1单元格,把变量 myNum1 的值赋给 B1 单元格。6、a2=myNum2=:b2=myNum2:把字符串“myNum2=“赋给 A2单元格,把变量 myNum2 的值赋给 B2 单元格。7、End Sub:程序的结束语句,和“Sub 示例_1_01()”相对应。ChrChr 函数函数一、题目:要求编写一段代码,运用 Chr 函数将 ASCII 值转换为对应的字符。二、代码:Sub 示例_1_02()Dim myChar1$,myChar2$myC
4、har1=Chr(69)返回 E。myChar2=Chr(101)返回 e。a1=myChar1=:b1=myChar1a2=myChar2=:b2=myChar2End Sub三、代码详解 1、Sub 示例_1_02():宏程序的开始语句。2、Dim myChar1$,myChar2$:变量 myChar1 和 myChar2 声明为字符串变量。也可以写为 Dim myChar1 As String。String之字符码的范围是 0 到 255。字符集的前 128 个字符(0 到 127)对应于标准的 U.S.键盘上的字符与符号。这前 128 个字符与 ASCII 字符集中所定义的相同。后
5、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 的值
6、赋给 B1 单元格。6、a2=myChar2=:b2=myChar2:把字符串“myChar2=“赋给A2 单元格,把变量 myChar2 的值赋给 B2 单元格。7、End Sub:程序的结束语句,和“Sub 示例_1_02()”相对应。ChooseChoose 函数函数一、题目:要求编写一段代码,运用 Choose 函数根据指定数字选择对应的字符串。二、代码:Sub 示例_1_03()Dim Num%Num=2MsgBox Choose(Num,一月,二月,三月)End Sub三、代码详解 1、Sub 示例_1_03():宏程序的开始语句。宏名为示例_1_03。2、Dim Num%:变量
7、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
8、或大于列出的选择项数目时,Choose 函数返回 Null。如果 index 不是整数,则会先四舍五入为与其最接近的整数。CosCos 函数函数一、题目:要求编写一段代码,运用 Cos 函数根据指定角度的余弦计算其正割的值。二、代码:Sub 示例_1_04()Dim jiaodu,zengejiaodu=1.3zenge=1/Cos(jiaodu)MsgBox“角度为”&jiaodu&“的正割的值”&zengeEnd Sub三、代码详解 1、Sub 示例_1_04():宏程序的开始语句。宏名为示例_1_04。2、Dim jiaodu,zenge:两个变量都被指定为可变型数据类型。当声明常数、变
9、量或参数时,若无指定数据类型则会自动的指定成 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())的值。DateDate 函数函数一、题目:要求编写一段代
10、码,运用 Date 函数显示系统日期的值。二、代码:Sub 示例_1_05()Dim myDatemyDate=DateMsgBox“系统日期为”&myDateEnd Sub三、代码详解 1、Sub 示例_1_05():宏程序的开始语句。宏名为示例_1_05。2、Dim myDate:变量 myDate 被指定为可变型数据类型。3、myDate=Date:把系统日期的值赋给变量 myDate。Date 函数返回系统当前的日期。4、MsgBox“系统日期为”&myDate:利用 MsgBox 函数显示系统日期的值。DateAddDateAdd 函数函数一、题目:要求编写一段代码,运用 DateA
11、dd 函数显示返回一定间隔后的日期。二、代码:Sub 示例_1_06()Dim dyrq As DateDim jglx As StringDim n As IntegerDim Msgjglx=mdyrq=InputBox(请输入一个日期)n=InputBox(输入增加月的数目:)Msg=新日期:&DateAdd(jglx,n,dyrq)MsgBox MsgEnd Sub三、代码详解 1、Sub 示例_1_06():宏程序的开始语句。宏名为示例_1_06。2、Dim dyrq As Date:变量 dyrq 声明为日期对象型数据类型。其余几个变量分别是字符串型、整型和可变型变量。3、jglx
12、=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)DateAd
13、d 函数语法中有下列命名参数:interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,比如”m”为月;”d”为日;”yyyy”为年等等。number必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。date必要。表示日期的文字。7、MsgBox Msg:利用 MsgBox 函数显示 Msg 的值。DateDiffDateDiff函数函数一、题目:要求编写一段代码,运用 DateDiff 函数返回某个指定日期距离今天的天数。二、代码:Sub 示例_1_07()Dim zdrq As DateDim Msgzdr
14、q=InputBox(请输入一个日期:)Msg=离开今天的天数:&DateDiff(d,Now,zdrq)MsgBox MsgEnd Sub三、代码详解 1、Sub 示例_1_07():宏程序的开始语句。宏名为示例_1_07。2、Dim zdrq As Date:变量 zdrq 声明为日期对象型数据类型。3、zdrq=InputBox(请输入一个日期):用 InputBox 函数来让用户输入一个日期,并把用户输入的日期赋给变量 zdrq。4、Msg=离开今天的天数:&DateDiff(d,Now,zdrq):用 DateDiff函数计算得到的结果和字符串“离开今天的天数:”连接起来赋给变量 M
15、sg。5、MsgBox Msg:利用 MsgBox 函数显示 Msg 的值。DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。DateDiff(interval,date1,date2,firstdayofweek,firstweekofyear)DateDiff 函数语法中有下列命名参数:interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与 DateAdd 函数相同;此例中的d,表示天数;Date1,date2必要;计算中要用到的两个日期。First
16、dayofweek可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含1 月 1 日的星期为第一周。DatePartDatePart 函数函数一、题目:要求编写一段代码,运用 DatePart 函数返回某个指定日期是在一年的哪一个季度。二、代码:Sub 示例_1_08()Dim zdrq As DateDim Msgzdrq=InputBox(请输入一个日期:)Msg=季度:&DatePart(q,zdrq)MsgBox MsgEnd Sub三、代码详解 1、Sub 示例_1_08():宏程序的
17、开始语句。宏名为示例_1_08。2、Dim zdrq 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)语法中有下列命
18、名参数:interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与 DateAdd 函数相同;此例中的q,表示季度;Date,必要;计算中要用到的两个日期。Firstdayofweek可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含1 月 1 日的星期为第一周。DateSerialDateSerial 函数函数一、题目:要求编写一段代码,运用 DateSerial 函数返回指定日期的 Date 类型。二、代码:Sub 示例_1_09()Dim zdrqzdrq=Dat
19、eSerial(2008,8,8)MsgBox zdrqEnd Sub三、代码详解 1、Sub 示例_1_09():宏程序的开始语句。宏名为示例_1_09。2、Dim zdrq:变量 zdrq 声明为可变型数据类型。3、zdrq=DateSerial(2008,8,8):DateSerial 函数转换所得的结果赋给变量 zdrq。DateSerial 函数返回指定日期年月日的日期格式。语法 DateSerial(year,month,day)DateSerial 函数语法有下列的命名参数:year必要;整型。从 100 到 9999 间的整数,或一数值表达式。month 必要;整型。任何数值表
20、达式。day必要;整型。任何数值表达式。4、MsgBox zdrq:利用 MsgBox 函数显示 zdrq 的值。DateValueDateValue 函数函数一、题目:要求编写一段代码,运用 DateValue 函数返回指定日期的 Date 类型。二、代码:Sub 示例_1_010()Dim zdrq zdrq=DateValue(August 8,2008)MsgBox zdrqEnd Sub三、代码详解 1、Sub 示例_1_010():宏程序的开始语句。宏名为示例_1_010。2、Dim zdrq:变量 zdrq 声明为可变型数据类型。3、zdrq=DateValue(August 8
21、,2008):DateSerial 函数转换所得的结果赋给变量 zdrq。4、MsgBox zdrq:利用 MsgBox 函数显示 zdrq 的值。DateValue 函数将字符串转换为日期格式。语法 DateValue(date)DateValue 函数的参数:date必要;通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12月 31 日之间的一个日期。但是,date 也可以是任何表达式,其所代表的日期、时间在上述范围内。DayDay 函数函数一、题目:要求编写一段代码,运用 Day 函数返回指定日期的日。二、代码:Sub 示例_1_11()Dim zdrqzdrq=
22、#2008-12-8#MsgBox zdrq&这天的日为:&Day(zdrq)End Sub三、代码详解 1、Sub 示例_1_11():宏程序的开始语句。宏名为示例_1_11。2、Dim zdrq:变量 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 必要的,可以是任何能够表示日期的 V
23、ariant、数值表达式、字符串表达式或它们的组合。DirDir 函数函数一、题目:要求编写一段代码,运用 Dir 函数返回一个文件夹的文件列表。二、代码:Sub 示例_1_12()Dim wjmwjm=Dir(C:WINDOWSWIN.ini)MsgBox wjmwjm=Dir(C:WINDOWS*.ini)wjm=DirEnd Sub三、代码详解 1、Sub 示例_1_12():宏程序的开始语句。宏名为示例_1_12。2、Dim wjm:变量 wjm 声明为可变型数据类型。3、wjm=Dir(C:WINDOWSWIN.ini):如果该文件存在则返回“WIN.INI”(在 C:Windows
24、 文件夹中),把返回的文件名赋给变量 wjm。如果该文件不存在则 wjm=”。4、wjm=Dir(C:WINDOWS*.ini):返回带指定扩展名的文件名。如果超过一个*.ini 文件存在,函数将返回按条件第一个找到的文件名。5、wjm=Dir:若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个*.ini 文件。Dir 函数返回一个字符串 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。Dir(pathname,attributes)Dir 函数的语法具有以下几个部分:pathname 可选参数。用来指定文件名的字符
25、串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串()。attributes可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。FixFix 函数函数一、题目:要求编写一段代码,运用 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
26、“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 函数则返回大于或等于该参数之最小整数。FormatFormat 函数函数一、题目:要求编写一段代码,运用 Format 函数对指定字符串
27、返回指定格式的输出。二、代码:Sub 示例_1_14()Dim sj,rqsj=“19:08:43”rq=“2008-8-8”MsgBox sj&“的格式设为hh:mm:ss AMPM:”&Format(sj,hh:mm:ssAMPM)返回 07:08:43 下午。MsgBox rq&“的格式设为dddd,mmm d yyyy:”&Format(rq,dddd,mmm d yyyy)End Sub三、代码详解 1、Sub 示例_1_14():宏程序的开始语句。宏名为示例_1_14。2、Dim sj,rq:变量 sj,rq 声明为可变型数据类型。3、sj=“19:08:43”:把字符串”19:0
28、8:43”赋给变量 sj。4、rq=“2008-8-8”:把字符串”2008-8-8”赋给变量 rq。5、MsgBox sj&“的格式设为hh:mm:ss AMPM:”&Format(sj,hh:mm:ssAMPM):利用 MsgBox 函数显示 Format 函数的值。返回 07:08:43 下午。6、MsgBox rq&“的格式设为dddd,mmm d yyyy:”&Format(rq,dddd,mmm d yyyy):利用 MsgBox 函数显示 Format 函数的值。代码执行后如图 5-14 所示。Format 函数根据有效的命名表达式来对指定的表达式进行格式化。Format(exp
29、ression,format,firstdayofweek,firstweekofyear)Format 函数的语法具有下面几个部分:expression必要参数。任何有效的表达式。format可选参数。有效的命名表达式或用户自定义格式表达式。firstdayofweek可选参数。常数,表示一星期的第一天。firstweekofyear 可选参数。常数,表示一年的第一周。HourHour 函数函数一、题目:要求编写一段代码,运用 Hour 函数对指定字符串返回小时数。二、代码:Sub 示例_1_15()Dim sj sj=3:45:20 PM 指定一时间字符串。MsgBox sj&的小时是:&
30、Hour(sj)End Sub三、代码详解 1、Sub 示例_1_15():宏程序的开始语句。宏名为示例_1_15。2、Dim sj:变量 sj 声明为可变型数据类型。3、sj=“3:45:20 PM”:把字符串”3:45:20 PM”赋给变量 sj。4、MsgBox sj&的小时是:&Hour(sj):利用 MsgBox 函数显示 Hour 函数的值。代码执行后如图 5-15 所示。Hour 函数返回一个其值为 0 到 23 之间的整数,表示一天之中的某一钟点。语法 Hour(time)Time 必要的参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合。IIFIIF函数函数一
31、、题目:要求编写一段代码,运用 IIF 函数根据判断条件返回结果。二、代码:Sub 示例_1_16()Dim Cheshi As String,dx As Integer dx=560 Cheshi=IIF(dx 1000,大,小)MsgBox dx&比 1000 要&Cheshi&Abs(1000-dx)End Sub三、代码详解 1、Sub 示例_1_16():宏程序的开始语句。宏名为示例_1_16。2、Dim Cheshi As String,dx As Integer:变量 Cheshi 声明为字符串数据类型,dx 声明为整型。3、dx=560:把数字 560 赋给变量 dx。4、Ch
32、eshi=IIF(dx 1000,大,小):根据变量 dx 是否大于 1000 的条件来判断,并且把返回的结果赋给变量 Cheshi。5、MsgBox dx&比 1000 要&Cheshi&Abs(1000-dx):利用 MsgBox 函数显示最后的值。其中 Abs 函数是取表达式的绝对值函数。IIF 函数根据表达式的值,来返回两部分中的其中一个。IIF(expr,truepart,falsepart)IIF 函数的语法含有下面这些命名参数:expr必要参数。用来判断真伪的表达式。truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。falsepart 必要参数。
33、如果 expr 为 False,则返回这部分的值或表达式。InputBoxInputBox 函数函数一、题目:要求编写一段代码,运用 InputBox 函数,用户输入一定范围的数值并返回结果。二、代码:Sub Sub 示例_1_17()Dim Msg$,bt$,Default$,MyValue,aaMsg=输入一个 10 到 25 之间的数值:bt=InputBox 函数示例Default=10 设置缺省值。100:MyValue=InputBox(Msg,bt,Default)If MyValue 25 Then aa=MsgBox(输入数值超出范围,请重新输入或者退出。,1)If aa v
34、bOK Then Exit Sub GoTo 100Else MsgBox 你输入的是&MyValueEnd If End Sub三、代码详解 1、Sub 示例_1_17():宏程序的开始语句。宏名为示例_1_17。2、Dim Msg$,bt$,Default,MyValue,aa:变量 Msg、Default 和 bt 声明为字符串数据类型,其它的没有显式声明,都为可变型数据类型。3、Msg=输入一个 10 到 25 之间的数值:设置提示信息,把字符串赋给变量 Msg。4、bt=InputBox 函数示例:设置标题,把字符串赋给变量 bt。5、Default=10:设置缺省值,把字符串赋给变
35、量 Default。6、MyValue=InputBox(Msg,bt,Default):通过 InputBox 函数显示信息、标题及缺省值,把函数返回值赋给变量 MyValue。7、If MyValue 25 Then:如果 InputBox 函数返回的数值小于 10 或者大于 25,那么执行下面的语句。8、aa=MsgBox(输入数值超出范围,请重新输入或者退出。,1):如果InputBox 函数返回的数值超出了范围,显示一个消息框,消息框里面的第 2 个参数是 1,表示消息框上有两个按钮:“确定”和“取消”按钮。并把消息框返回的结果赋给变量 aa。9、If aa vbOK Then Ex
36、it Sub:如果用户按了消息框上的“取消”按钮,就退出本程序。10、GoTo 100:如果用户按了消息框上的“确定”按钮,就转而从行号 100开始执行代码。11、MsgBox 你输入的是&MyValue:如果用户输入了符合要求的数值,按了回车键或者“确定”按钮,消息框显示用户输入的值。InputBox 函数在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。语法InputBox(prompt,title,default,xpos,ypos,helpfile,context)InputBox 函数的语法具有以下几个命名参数:Prompt 必需的。作为对话框消息出现
37、的字符串表达式。Prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 Prompt 包含多个行,则可在各行之间用回车符(Chr(13)、换行符(Chr(10)或回车换行符的组合(Chr(13)&Chr(10)来分隔。Title可选的。显示对话框标题栏中的字符串表达式。如果省略 Title,则把应用程序名放入标题栏中。Default可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 Default,则文本框为空。其它参数省略,请参见 Excel 帮助文件。InstrInstr 函数函数一、题目:要求编写一段代码,运用 Instr 函数,在一字符串中查
38、找另一字符串并返回结果。二、代码:Sub 示例_1_18()Dim bssString,yczChar,wzbssString=ABpAApCDPBBPyczChar=PMsgBox bssString=ABpAApCDPBBP&Chr(10)&_yczChar=P 时:&Chr(10)&Chr(10)&_InStr(4,bssString,yczChar,1)返回值为&_InStr(4,bssString,yczChar,1)wz=Instr(1,bssString,yczChar,0)wz=Instr(bssString,yczChar)返回 9。wz=Instr(1,bssString,
39、W)返回 0。End Sub三、代码详解1、Sub 示例_1_18():宏程序的开始语句。宏名为示例_1_18。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
40、)返回值为&_InStr(4,bssString,yczChar,1):用消息框显示从第四个字符开始,以文本比较的方式找字符 P,返回值为 6(小写 p 的位置)。小写 p 和大写 P 在文本比较下是一样的,也就是当函数的最后一个参数为 1 时,查找不分大小写。把要查找的字符 P 的位置赋给变量 yczChar。式中 Chr(10)是换行符。6、wz=Instr(1,bssString,yczChar,0):从第一个字符开始,以二进制比较的方式查找,返回值为 9(大写 P 的位置)。小写 p 和大写 P 在二进制比较下是不一样的,也就是当函数的最后一个参数为 0 时,查找分大小写。把查找到的字
41、符 P 的位置赋给变量 wz。7、wz=Instr(bssString,yczChar):上一句也可写成这样的,因为缺省的比对方式为二进制比较(最后一个参数可省略)。第一个参数省略默认从第一个字符开始查找。返回值为 9。8、wz=Instr(1,bssString,”W”):在被搜索的字符串中查找字符 W,由于没找到返回值为 0。InStr 函数返回 Variant(Long),指定一字符串在另一字符串中最先出现的位置。语法InStr(start,string1,string2,compare)InStr 函数的语法具有下面的参数:start可选参数。为数值表达式,设置每次搜索的起点。如果省略
42、,将从第一个字符的位置开始。如果指定了 compare 参数,则一定要有 start 参数。string1必要参数。接受搜索的字符串表达式。string2必要参数。被搜索的字符串表达式。Compare 可选参数。指定字符串比较。如果省略 compare,Option Compare 的设置将决定比较的类型。compare 参数设置为:常数值 描述vbUseCompareOption-1 使用 Option Compare 语句设置执行一个比较。vbBinaryCompare0执行一个二进制比较。vbTextCompare1执行一个按照原文的比较。vbDatabaseCompare2仅适用于 M
43、icrosoft Access,执行一个基于数据库中信息的比较。InstrRevInstrRev 函数函数一、题目:要求编写一段代码,运用 InstrRev 函数,返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。二、代码:Sub 示例_1_19()Dim bssString,yczChar,wzbssString=ABpAApCDPBBPyczChar=pws=InstrRev(bssString,yczChar,4,1)MsgBox wsEnd Sub三、代码详解1、Sub 示例_1_19():宏程序的开始语句。宏名为示例_1_19。2、Dim bssString,yczCha
44、r,wz:变量 bssString、yczChar 和 ws 声明为可变型变量。3、bssString=ABpAApCDXPBBP:把被搜索的字符串赋给变量 bssString。4、yczChar=p:把要查找的字符 P 赋给变量 yczChar。5、wz=InstrRev(bssString,yczChar,4,1):从第 4 个字符开始,按原文比较的方式从末尾往前查找字符 p,返回值为 3。InStrRev 函数返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。语法InstrRev(stringcheck,stringmatch,start,compare)InstrRev 函
45、数语法有如下命名参数:stringcheck必需的。要执行搜索的字符串表达式。stringmatch必需的。要搜索的字符串表达式。start可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则表示从字符串末尾位置开始搜索。compare可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。compare 参数值如下:常数值 描述vbUseCompareOption1 用 Option Compare 语句的设置值来执行比较。vbBinaryCompare0执行二进制比较。区分大小写。vbTextCompare1执行文字比较。不区分大小写。vbDatabaseCo
46、mpare 2只用于 Microsoft Access。基于您的数据库信息执行比较。6、MsgBox ws:用消息框显示查找返回的值 3。IsArrayIsArray函数函数一、题目:要求编写一段代码,运用 IsArray 函数,返回一个变量是否为一个数组。二、代码:Sub 示例_1_20()Dim Arr1(1 To 8,1 to 3)As Integer,Arr2Arr2=Array(1,2,3,4,5)MsgBox“Arr1 是否为数组:”&IsArray(Arr1)返回 True。MsgBox“Arr2 是否为数组:”&IsArray(Arr2)返回 True。End Sub三、代码详
47、解1、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 语句指定的下界的决定,默认为 0。IsArray 函数返回 Boolean 值,指出变量是否为一个数组。语法IsArray(varname)必要的 varname 参数是一个指定变量的标识符。如果变量是数组,则 IsArray 返回 True;否则返回 False。对于包含数组的variant 表达式来说,IsArray 尤为有用。4、MsgBox“Arr1 是否为数组:”&IsArray(Arr1):用消息框显示 Arr1是否为数组。