收藏 分享(赏)

vba常用代码大全.doc

上传人:weiwoduzun 文档编号:2799013 上传时间:2018-09-27 格式:DOC 页数:59 大小:825.28KB
下载 相关 举报
vba常用代码大全.doc_第1页
第1页 / 共59页
vba常用代码大全.doc_第2页
第2页 / 共59页
vba常用代码大全.doc_第3页
第3页 / 共59页
vba常用代码大全.doc_第4页
第4页 / 共59页
vba常用代码大全.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

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

2、m1 = Asc(“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、(%)。23、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 单元格,把变量 myNum

4、1 的值赋给 B1 单元格。6、a2 = “myNum2= “: b2 = myNum2:把字符串“myNum2= “赋给 A2 单元格,把变量 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 = myCh

5、ar1a2 = “myChar2= “: b2 = myChar23End 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 字符集中所定义的相同。后 128 个字符(128 到 255)则代表特殊字符,例如国际字符,重音符号,货币符号及分

6、数。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= “:

7、 b2 = myChar2:把字符串 “myChar2= “赋给 A2 单元格,把变量 myChar2 的值赋给 B2 单元格。7、End Sub:程序的结束语句,和“Sub 示例_1_02()”相对应。第 1.3 例 Choose 函数4一、题目:要求编写一段代码,运用 Choose 函数根据指定数字选择对应的字符串。二、代码:Sub 示例_1_03()Dim Num%Num=2MsgBox Choose(Num, “一月“, “二月“, “三月 “)End Sub三、代码详解1、Sub 示例 _1_03():宏程序的开始语句。宏名为示例_1_03。2、Dim Num% :变量 Num 声明

8、为整型变量。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 和可选择的项目数之间。当 in

9、dex 小于 1 或大于列出的选择项数目时,Choose 函数返回Null。如果 index 不是整数,则会先四舍五入为与其最接近的整数。第 1.4 例 Cos 函数一、题目:5要求编写一段代码,运用 Cos 函数根据指定角度的余弦计算其正割的值。二、代码:Sub 示例_1_04()Dim jiaodu, zengejiaodu = 1.3 zenge = 1 / Cos(jiaodu) MsgBox “角度为 ” & jiaodu & “的正割的值 ” & zengeEnd Sub三、代码详解1、Sub 示例 _1_04():宏程序的开始语句。宏名为示例_1_04。2、Dim jiaodu,

10、 zenge :两个变量都被指定为可变型数据类型。当声明常数、变量或参数时,若无指定数据类型则会自动的指定成 Variant(可变型) 数据类型。声明成Variant 数据类型的变量可以为字符串、日期、时间、Boolean 或数值。3、jiaodu = 1.3 :把以“弧度”为单位的角度 1.3 赋给变量 jiaodu。4、zenge = 1 / Cos(jiaodu) :利用 1/余弦算得正割(sec())的值,赋给变量zenge。Cos 函数返回一个角的余弦值。其参数是表示一个以弧度为单位的角。5、 MsgBox “角度为 ” & jiaodu & “的正割的值 ” & zenge :利用

11、 MsgBox函数显示算得的正割(sec())的值。第 1.5 例 Date 函数一、题目:要求编写一段代码,运用 Date 函数显示系统日期的值。二、代码:Sub 示例_1_05()6Dim myDatemyDate = DateMsgBox “系统日期为 ” & myDateEnd Sub三、代码详解1、Sub 示例 _1_05():宏程序的开始语句。宏名为示例_1_05。2、 Dim myDate :变量 myDate 被指定为可变型数据类型。3、 myDate = Date :把系统日期的值赋给变量 myDate。Date 函数返回系统当前的日期。4、 MsgBox “系统日期为 ”

12、& myDate :利用 MsgBox 函数显示系统日期的值。第 1.6 例 DateAdd 函数一、题目:要求编写一段代码,运用 DateAdd 函数显示返回一定间隔后的日期。二、代码:Sub 示例_1_06()Dim dyrq As Date Dim jglx As StringDim n As IntegerDim Msgjglx = “m“ dyrq = InputBox(“请输入一个日期“)n = InputBox(“输入增加月的数目:“)Msg = “新日期: “ & DateAdd(jglx, n, dyrq)7MsgBox MsgEnd Sub三、代码详解1、Sub 示例 _1

13、_06():宏程序的开始语句。宏名为示例_1_06。2、 Dim dyrq As Date :变量 dyrq 声明为日期对象型数据类型。其余几个变量分别是字符串型、整型和可变型变量。3、 jglx = “m“ :用字符 m 来指定以“月份”作为间隔。4、 dyrq = InputBox(“请输入一个日期“) :用 InputBox 函数来让用户输入一个日期,并把用户输入的日期赋给变量 dyrq。5、 n = InputBox(“输入增加月的数目: “) :用 InputBox 函数来让用户输入间隔月的数目,并把用户输入的值赋给变量 n。6、 Msg = “新日期: “ & DateAdd(jg

14、lx, n, dyrq) :用 DateAdd 函数计算得到的新的日期和字符串“新日期: ”连接起来赋给变量 Msg。DateAdd 函数返回一个日期,这一日期加上了一个时间间隔。语法DateAdd(interval, number, date)DateAdd 函数语法中有下列命名参数:interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,比如”m”为月;”d ”为日;”yyyy”为年等等。number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。date 必要。表示日期的文字。7、 MsgBox M

15、sg :利用 MsgBox 函数显示 Msg 的值。第 1.7 例 DateDiff 函数8一、题目:要求编写一段代码,运用 DateDiff 函数返回某个指定日期距离今天的天数。二、代码:Sub 示例_1_07()Dim zdrq As Date Dim Msgzdrq = InputBox(“请输入一个日期:“)Msg = “离开今天的天数: “ & DateDiff(“d“, Now, zdrq)MsgBox MsgEnd Sub三、代码详解1、 Sub 示例_1_07() :宏程序的开始语句。宏名为示例_1_07 。2、 Dim zdrq As Date :变量 zdrq 声明为日期对

16、象型数据类型。3、 zdrq = InputBox(“请输入一个日期“) :用 InputBox 函数来让用户输入一个日期,并把用户输入的日期赋给变量 zdrq。4、 Msg = “离开今天的天数: “ & DateDiff(“d“, Now, zdrq) :用 DateDiff 函数计算得到的结果和字符串“离开今天的天数: ”连接起来赋给变量 Msg。5、 MsgBox Msg :利用 MsgBox 函数显示 Msg 的值。DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。Dat

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

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

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

20、季度;Date, 必要;计算中要用到的两个日期。Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1日的星期为第一周。第 1.9 例 DateSerial 函数一、题目:要求编写一段代码,运用 DateSerial 函数返回指定日期的 Date 类型。二、代码:Sub 示例_1_09()Dim zdrqzdrq = DateSerial(2008, 8, 8) 11MsgBox zdrqEnd Sub三、代码详解1、 Sub 示例_1_09() :宏程序

21、的开始语句。宏名为示例_1_09 。2、 Dim zdrq :变量 zdrq 声明为可变型数据类型。3、 zdrq = DateSerial(2008, 8, 8) :DateSerial 函数转换所得的结果赋给变量 zdrq。DateSerial 函数返回指定日期年月日的日期格式。语法DateSerial(year, month, day)DateSerial 函数语法有下列的命名参数:year 必要;整型。从 100 到 9999 间的整数,或一数值表达式。month 必要;整型。任何数值表达式。day 必要;整型。任何数值表达式。4、 MsgBox zdrq :利用 MsgBox 函数显

22、示 zdrq 的值。第 1.10 例 DateValue 函数一、题目:要求编写一段代码,运用 DateValue 函数返回指定日期的 Date 类型。二、代码:Sub 示例_1_010()Dim zdrqzdrq = DateValue(“August 8, 2008“) MsgBox zdrqEnd Sub三、代码详解121、 Sub 示例_1_010():宏程序的开始语句。宏名为示例 _1_010。2、 Dim zdrq :变量 zdrq 声明为可变型数据类型。3、 zdrq = DateValue(“August 8, 2008“) :DateSerial 函数转换所得的结果赋给变量z

23、drq。4、 MsgBox zdrq :利用 MsgBox 函数显示 zdrq 的值。DateValue 函数将字符串转换为日期格式。语法DateValue (date)DateValue 函数的参数:date 必要;通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。但是,date 也可以是任何表达式,其所代表的日期、时间在上述范围内。第 1.11 例 Day 函数一、题目:要求编写一段代码,运用 Day 函数返回指定日期的日。二、代码:Sub 示例_1_11()Dim zdrqzdrq = #2008-12-8# MsgBox zdrq

24、 & “ 这天的日为: “ & Day(zdrq) End Sub三、代码详解131、 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 必要的,可以是任何

25、能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。第 1.12 例 Dir 函数一、题目:要求编写一段代码,运用 Dir 函数返回一个文件夹的文件列表。二、代码:Sub 示例_1_12()Dim wjmwjm = Dir(“C:WINDOWSWIN.ini“) MsgBox wjmwjm = Dir(“C:WINDOWS*.ini“)wjm = DirEnd Sub14三、代码详解1、 Sub 示例_1_12() :宏程序的开始语句。宏名为示例_1_12 。2、 Dim wjm :变量 wjm 声明为可变型数据类型。3、 wjm = Dir(“C:WINDOWSWIN.in

26、i“) :如果该文件存在则返回“WIN.INI”(在 C:Windows 文件夹中) ,把返回的文件名赋给变量 wjm 。如果该文件不存在则 wjm=”。4、 wjm = Dir(“C:WINDOWS*.ini“) :返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,函数将返回按条件第一个找到的文件名。5、 wjm = Dir :若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。Dir 函数返回一个字符串 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。Dir(pathname, at

27、tributes)Dir 函数的语法具有以下几个部分:pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 (“)。 attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。 第 1.13 例 Fix 函数15一、题目:要求编写一段代码,运用 Fix 函数返回某数值的整数部分。二、代码:Sub 示例_1_13()MsgBox “99.8 的整数部分是: ” & Fix(99.8) MsgBox “99.8 的整数部分是: ”

28、 & 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 函数返回参数的整数部分。语法Fix(number)number 必要的 是任何有效的数值表达式。Int 及 Fix 函数在返回某数值的整数部分时有何不同。当参数为负数时,Int 函数返回小于

29、或等于该参数之最大整数,而 Fix 函数则返回大于或等于该参数之最小整数。第 1.14 例 Format 函数一、题目:要求编写一段代码,运用 Format 函数对指定字符串返回指定格式的输出。二、代码:16Sub 示例_1_14()Dim sj, rqsj = “19:08:43”rq = “2008-8-8”MsgBox sj & “ 的格式设为“hh:mm:ss AMPM“: ” & Format(sj, “hh:mm:ss AMPM“) 返回 “07:08:43 下午“ 。MsgBox rq & “ 的格式设为“dddd, mmm d yyyy“: ” & Format(rq, “dd

30、dd, mmm 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:ss AMPM“) :利用 MsgBox 函数显示 Format 函数的值。返回 “07:08:43 下

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

32、tdayofweek 可选参数。常数,表示一星期的第一天。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” :

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

34、dx = 560Cheshi = 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、 Cheshi = IIF(dx 1000, “大“, “小“) :根据变量 dx 是否大于 1000 的条件

35、来判断,并且把返回的结果赋给变量 Cheshi。5、 MsgBox dx & “ 比 1000 要“ & Cheshi & “ “ & Abs(1000 - dx) :利用 MsgBox 函数显示最后的值。其中 Abs 函数是取表达式的绝对值函数。19IIF 函数根据表达式的值,来返回两部分中的其中一个。IIF(expr, truepart, falsepart)IIF 函数的语法含有下面这些命名参数:expr 必要参数。用来判断真伪的表达式。truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。falsepart 必要参数。如果 expr 为 False,则返回

36、这部分的值或表达式。第 1.17 例 InputBox 函数一、题目:要求编写一段代码,运用 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 Thenaa = MsgBox(“输入数值超出范围,请重新输入或者退出。“, 1)If a

37、a vbOK Then Exit Sub :如果用户按了消息框上的“取消”按钮,就退出本程序。10、GoTo 100 :如果用户按了消息框上的“确定”按钮,就转而从行号 100 开始执行代码。11、MsgBox “你输入的是 “ & MyValue :如果用户输入了符合要求的数值,按了回车键或者“确定”按钮,消息框显示用户输入的值。21InputBox 函数在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。语法InputBox(prompt, title , default , xpos , ypos , helpfile, context)InputBox 函

38、数的语法具有以下几个命名参数:Prompt 必需的。作为对话框消息出现的字符串表达式。Prompt 的最大长度大约是1024 个字符,由所用字符的宽度决定。如果 Prompt 包含多个行,则可在各行之间用回车符 (Chr(13)、换行符 (Chr(10) 或回车换行符的组合 (Chr(13) & Chr(10) 来分隔。Title 可选的。显示对话框标题栏中的字符串表达式。如果省略 Title,则把应用程序名放入标题栏中。Default 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 Default,则文本框为空。其它参数省略,请参见 Excel 帮助文件。第 1.1

39、8 例 Instr 函数一、题目:要求编写一段代码,运用 Instr 函数,在一字符串中查找另一字符串并返回结果。二、代码:Sub 示例_1_18()Dim bssString, yczChar, wzbssString =“ABpAApCDPBBP“ yczChar = “P“ MsgBox “bssString = “ ABpAApCDPBBP “ & Chr(10) & _22“yczChar= “P“ 时: “ & Chr(10) & Chr(10) & _“InStr(4, bssString, yczChar, 1) 返回值为 “ & _InStr(4, bssString, yc

40、zChar, 1)wz = Instr(1, bssString, yczChar, 0)wz = Instr(bssString,yczChar) 返回 9。wz = Instr(1, bssString, “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“ :

41、 把要查找的字符 P 赋给变量 yczChar。5、MsgBox “bssString = “ ABpAApCDPBBP “ & Chr(10) & _“yczChar= “P“ 时: “ & Chr(10) & Chr(10) & _“InStr(4, bssString, yczChar, 1) 返回值为 “ & _InStr(4, bssString, yczChar, 1): 用消息框显示从第四个字符开始,以文本比较的方式找字符 P,返回值为 6(小写 p 的位置)。小写 p 和大写 P 在文本比较下是一样的,也就是当函数的最后一个参数为 1 时,查找不分大小写。把要查找的字符 P 的

42、位置赋给变量 yczChar。式中 Chr(10)是换行符。6、wz = Instr(1, bssString, yczChar, 0) :从第一个字符开始,以二进制比较的方式查找,返回值为 9(大写 P 的位置)。小写 p 和大写 P 在二进制比较下是不一样的,也就是当函数的最后一个参数为 0 时,查找分大小写。把查找到的字符 P 的位置赋给变量wz。237、wz = Instr(bssString, yczChar) :上一句也可写成这样的,因为缺省的比对方式为二进制比较(最后一个参数可省略)。第一个参数省略默认从第一个字符开始查找。返回值为 9。8、wz = Instr(1,bssStr

43、ing, ”W”) :在被搜索的字符串中查找字符 W,由于没找到返回值为 0。InStr 函数返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。语法InStr(start, string1, string2, compare)InStr 函数的语法具有下面的参数:start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果指定了 compare 参数,则一定要有 start 参数。string1 必要参数。接受搜索的字符串表达式。string2 必要参数。被搜索的字符串表达式。Compare 可选参数。指定字符串比较。如果省略 c

44、ompare,Option Compare 的设置将决定比较的类型。compare 参数设置为:常数 值 描述vbUseCompareOption -1 使用 Option Compare 语句设置执行一个比较。vbBinaryCompare 0 执行一个二进制比较。vbTextCompare 1 执行一个按照原文的比较。vbDatabaseCompare 2 仅适用于 Microsoft Access,执行一个基于数据库中信息的比较。24第 1.19 例 InstrRev 函数一、题目:要求编写一段代码,运用 InstrRev 函数,返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算

45、起。二、代码:Sub 示例_1_19()Dim bssString, yczChar, wzbssString =“ABpAApCDPBBP“ yczChar = “p“ ws = InstrRev(bssString, yczChar, 4,1) MsgBox ws End Sub三、代码详解1、Sub 示例_1_19():宏程序的开始语句。宏名为示例_1_19。2、Dim bssString, yczChar, wz :变量 bssString、yczChar 和 ws 声明为可变型变量。3、bssString =“ABpAApCDXPBBP“ : 把被搜索的字符串赋给变量 bssStri

46、ng。4、yczChar = “p“ : 把要查找的字符 P 赋给变量 yczChar。5、wz = InstrRev( bssString, yczChar,4,1) :从第 4 个字符开始,按原文比较的方式从末尾往前查找字符 p,返回值为 3。InStrRev 函数返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。语法InstrRev(stringcheck, stringmatch, start, compare)InstrRev 函数语法有如下命名参数:stringcheck 必需的。要执行搜索的字符串表达式。25stringmatch 必需的。要搜索的字符串表达式。sta

47、rt 可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则表示从字符串末尾位置开始搜索。compare 可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。compare 参数值如下:常数 值 描述vbUseCompareOption 1 用 Option Compare 语句的设置值来执行比较。vbBinaryCompare 0 执行二进制比较。区分大小写。vbTextCompare 1 执行文字比较。不区分大小写。vbDatabaseCompare 2 只用于 Microsoft Access。基于您的数据库信息执行比较。6、MsgBox ws : 用消息

48、框显示查找返回的值 3。第 1.20 例 IsArray 函数一、题目:要求编写一段代码,运用 IsArray 函数,返回一个变量是否为一个数组。二、代码:Sub 示例_1_20()Dim Arr1(1 To 8,1 to 3) As Integer, Arr2 Arr2 = Array(1, 2, 3,4,5) MsgBox “Arr1 是否为数组: ” & IsArray(Arr1) 返回 True。MsgBox “Arr2 是否为数组: ” & IsArray(Arr2) 返回 True。End Sub三、代码详解261、Sub 示例_1_20():宏程序的开始语句。宏名为示例_1_20

49、。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 函数返回 Boole

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报