问题补充说明:如题,求示例,谢谢。
Instr函数
一、题目:
要求编写一段代码,运条去苏矛仅光夫用Instr函数,在一字符串中查找另一字符串并返回结果。
二、代码:
Sub示例_1_1岁培际演节望语技使8()
DimbssString,yczChar,wz
bss抗态及String="ABpAApCDPBBP"
yczChar="P"
MsgBox"bssSt溶威ring=""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。
EndSub
三、代码详解
1、Sub示例_1_18():宏程序的开始语句。宏名为示例_1_18。
2、DimbssStri失八律太ng,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的位置赋给变量y架代czChar。式中Chr(1令门比岩张顾意某才滑香0)是换行符。
6、w便粒快磁统z=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,strin望g2[,compare])
InStr函数的语法具有下面的参数:
start可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果指定了compare参数,则一定要有start参数。
string1必要参数。接受搜索的字符串表达式。
string2必要参数。被搜索的字符串表达式。
Compare可选参数。指定字符串比较。如果省略compare,OptionC拿深显波头队呀杂ompare的设置将决定比较的类型。
compare参数设置为黑办武根封威普:
常数值描述
vbUseCompareOption-1使用OptionCompare周证防福蛋强明语句设置执行一个新端商呀孩协沙音外绿比较。
vbBinaryCompare0执行一个二进制比较。
vbTextCompare1执行一个按照原文的比较。
vbDatabaseCompare2仅适用于MicrosoftAccess,执行一个基于数据库中信息的比较。