VBA函数精选

  • 格式:docx
  • 大小:41.74 KB
  • 文档页数:16

VBA函数精选第1.19例InstrRev 函数一、题目:要求编写一段代码,运用InstrRev函数,返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

二、代码:Sub 示例_1_19()Dim bssString, yczChar, wzbssString ="ABpAApCDPBBP"yczChar = "p"ws = InstrRev(bssString, yczChar, 4,1)MsgBox wsEnd Sub三、代码详解1、Sub 示例_1_19():宏程序的开始语句。

宏名为示例_1_19。

2、Dim bssString, yczChar, wz :变量bssString、yczChar和ws声明为可变型变量。

3、bssString ="ABpAApCDXPBBP" :把被搜索的字符串赋给变量bssString。

4、yczChar = "p" :把要查找的字符P赋给变量yczChar。

5、wz = InstrRev( bssString, yczChar,4,1) :从第4个字符开始,按原文比较的方式从末尾往前查找字符p,返回值为3。

6、MsgBox ws :用消息框显示查找返回的值3。

InStrRev函数返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

InstrRev(stringcheck, stringmatch[, start[, compare]])InstrRev 函数语法有如下命名参数:stringcheck 必需的。

要执行搜索的字符串表达式。

stringmatch 必需的。

要搜索的字符串表达式。

start 可选的。

数值表达式,设置每次搜索的开始位置。

如果忽略,则表示从字符串末尾位置开始搜索。

compare 可选的。

数字值,指出在判断子字符串时所使用的比较方法。

如果忽略,则执行二进制比较。

compare参数值如下:常数值描述vbUseCompareOption –1 用Option Compare语句的设置值来执行比较。

vbBinaryCompare 0 执行二进制比较。

区分大小写。

vbTextCompare 1 执行文字比较。

不区分大小写。

vbDatabaseCompare 2 只用于Microsoft Access。

基于您的数据库信息执行比较。

第1.18例Instr函数一、题目:要求编写一段代码,运用Instr函数,在一字符串中查找另一字符串并返回结果。

二、代码:Sub 示例_1_18()Dim bssString, yczChar, wzbssString ="ABpAApCDPBBP"yczChar = "P"MsgBox "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, "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) 返回值为" & _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时,查找分大小写。

把查找到的字符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 可选参数。

为数值表达式,设置每次搜索的起点。

如果省略,将从第一个字符的位置开始。

如果指定了compare 参数,则一定要有start 参数。

string1 必要参数。

接受搜索的字符串表达式。

string2 必要参数。

被搜索的字符串表达式。

Compare可选参数。

指定字符串比较。

如果省略compare,Option Compare 的设置将决定比较的类型。

compare 参数设置为:常数值描述vbUseCompareOption -1 使用Option Compare 语句设置执行一个比较。

vbBinaryCompare 0 执行一个二进制比较。

vbTextCompare 1 执行一个按照原文的比较。

vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。

第1.17例InputBox函数一、题目:要求编写一段代码,运用InputBox函数,用户输入一定范围的数值并返回结果。

二、代码:Sub 示例_1_17()Dim Msg$, bt$, Default$, MyValue,aaMsg = "输入一个10到25之间的数值:"bt = "InputBox 函数示例"Default = "10" ' 设置缺省值。

100:MyValue = InputBox(Msg,bt, Default)If MyValue < 10 Or MyValue > 25 Thenaa = MsgBox("输入数值超出范围,请重新输入或者退出。

", 1)If aa <> vbOK Then Exit SubGoTo 100ElseMsgBox "你输入的是" & MyValueEnd IfEnd 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" :设置缺省值,把字符串赋给变量Default。

6、MyValue = InputBox(Msg,bt, Default) :通过InputBox函数显示信息、标题及缺省值,把函数返回值赋给变量MyValue。

7、If MyValue < 10 Or MyValue > 25 Then :如果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 :如果用户输入了符合要求的数值,按了回车键或者“确定”按钮,消息框显示用户输入的值。

InputBox 函数在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。

语法InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])InputBox 函数的语法具有以下几个命名参数:Prompt 必需的。

作为对话框消息出现的字符串表达式。

Prompt 的最大长度大约是1024 个字符,由所用字符的宽度决定。

如果Prompt 包含多个行,则可在各行之间用回车符(Chr(13))、换行符(Chr(10)) 或回车换行符的组合(Chr(13) & Chr(10)) 来分隔。