vb如何知道数组个数 a=js split 数组(s,“.”) 如何知道a的个数 请解释简单点

Private Sub Command1_Click()
Dim s() As String, a As Integer, b As Integer
s = Split(Text1.Text, &_&) '你输入的数值已存入数组s
a = UBound(s)
b = LBound(s)
Text2.Text = a - b + 1
测试结果是:如果输入:1_1_1
结果是:3(此项正确)如果输入:_1_1_1_ 结果是:5如果输入:1_1_1_
结果是:4因为我输入的数据比较严格,怕此方法会带来漏洞,请问这个问题怎么解决呀?或者有什么更好的方法?烦请,谢谢了。------解决方案--------------------VB code
Private Sub Command1_Click()
Dim s() As String, a As Integer, b As Integer
If (Left(Text1.Text, 1)) = &_& Then Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1)
If (Right(Text1.Text, 1)) = &_& Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
s = Split(Text1.Text, &_&) '你输入的数值已存入数组s
a = UBound(s)
b = LBound(s)
Text2.Text = a - b + 1
------解决方案--------------------
If (Left(Text1.Text, 1)) = &_& Then Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1)
If (Right(Text1.Text, 1)) = &_& Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)去掉就好了
------解决方案--------------------必须对每项进行检查,如果trim(s(i))=&&的项目必须去除
------解决方案--------------------测试结果是:如果输入:如果输入:_1_1_1_ 结果是:5如果输入:1_1_1_ 结果是:4完全正确1_1_1 结果是:3
这个没什么可说的_1_1_1_ 是前后各有一个空字符串1_1_1_ 是在最后有一个空字符串你只要想办法先去掉前后无用的_就可以了
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有查看: 30853|回复: 31
求解释SPLIT用法
阅读权限20
在线时间 小时
单元格C6 的值为aaaaaaa/ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp
Sub test_split()
Dim a As String
a = Split(Range(&C6&), &/&, 2)(1)
这里为什么得出的结果是ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp
Split(Range(&C6&), &/&, 2)(1)
这句话的1应该是第一个&/& 那那个2是什么意思? 求解
阅读权限100
在线时间 小时
第1.35例 Split 函数
一、题目:
  要求编写一段代码,运用 Split&&函数返回一个一维数组。
二、代码:
Sub 示例_1_035()
Dim x%,aa,Arr
For x=1 to 5
aa=aa & x & “,”
aa = Left(aa, Len(aa) - 1)
Arr=Split(aa,”,”)
三、代码详解
1、Sub 示例_1_035():宏程序的开始语句。宏名为示例_1_035。
2、Dim x% ,aa,Arr&&:声明变量x为整型变量,其余两个为可变型变量。
3、For x = 1 To 5&&:x从1 到5进行循环。
4、aa=aa & x & “,” :根据循环依次把变量x的值和逗号组成的字符串赋给变量aa。返回”1,2,3,4,5,”
5、aa = Left(aa, Len(aa) - 1)&&:因为字符串aa最后多了一个逗号,所以运用Left 和Len函数去除这个逗号以后再赋给变量aa。返回”1,2,3,4,5”
6、Arr=Split(aa,”,”) :运用 Split&&函数返回一个一维数组赋给变量Arr(0 to 4)。注意:这里是以0为下标的一维数组。
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
Split(expression[, delimiter[, limit[, compare]]])
Split函数语法有如下命名参数:
expression& & & & 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(&&),Split则返回一个空数组,即没有元素和数据的数组。
delimiter& & & & 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(& &)作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。
limit& & & & 可选的。要返回的子字符串数,–1表示返回所有的子字符串。
compare& & & & 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。
compare参数的设置值如下:
常数& & & && && && && &&&值& & & & 描述
vbUseCompareOption& & & & –1& & & & 用Option Compare语句中的设置值执行比较。
vbBinaryCompare& & & && && & 0& & & & 执行二进制比较。
vbTextCompare& & & && && & 1& & & & 执行文字比较。
vbDatabaseCompare& & & && &2& & & & 仅用于Microsoft Access。基于您的数据库的信息执行比较。
阅读权限95
在线时间 小时
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
Split(expression[, delimiter[, limit[, compare]]])
Split函数语法有如下命名参数:
expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(&&),Split则返回一个空数组,即没有元素和数据的数组。
delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(& &)作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。
limit 可选的。要返回的子字符串数,–1表示返回所有的子字符串。
compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。
compare参数的设置值如下:
常数 值 描述
vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。
这句话的1应该是第2个子字符串
那个2是分解后形成2个子字符串的数组
阅读权限20
在线时间 小时
哇,楼上两位真的是,,...
虽然你们能帮我我很高兴,但能不能看完我写的内容再回答,光看题目就直接将一个某人发的例题抄上来.或者直接将EXCEL VBA帮助里的解释放上来
这个等于没说一样,,,,
谢谢哪位高人求解
阅读权限95
在线时间 小时
这两句你看到没有?
这句话的1应该是第2个子字符串
那个2是分解后形成2个子字符串的数组
阅读权限20
在线时间 小时
& & & & & & & &
还是不怎么理解
那Split(Range(&C6&), &/&, 4)(3)
得出的结果是ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp
如果是Split(Range(&C6&), &/&)(3)
得出的结果是ttttttt
阅读权限100
在线时间 小时
可以把代码改为如下:
Sub test_split()
Dim a As String, b
b = Split(Range(&C6&), &/&, 4)
再用F8逐句执行,可以看到分解得到的子字符串数量。
本例Split函数的第3个参数4,就是帮助里面的limit参数,表示分解成4个子字符串;用上面的代码可得:
b(0)=&aaaaaaa&
b(1)=&ggggggggg&
b(2)=&rrrrrrr&
b(3)=&ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp&
limit参数不用的话,默认=-1,表示返回所有的子字符串。
建议仔细读一读上面的帮助文件的内容。
学习,split原来还有个第3参数。&
阅读权限95
在线时间 小时
原帖由 willems 于
16:41 发表
还是不怎么理解
那Split(Range(&C6&), &/&, 4)(3)
得出的结果是ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp
如果是Split(Range(&C6&), &/&)(3)
得出的结果是ttttttt
Split(Range(&C6&), &/&, 4)(3) 把C6按/分开4段取第4段,前3段都是原来以/隔开的,第4段就是所有剩下的,自然把/都带着,而且比较长。
Split(Range(&C6&), &/&)(3) 把C6按/分开,不限制分多少段,取第4段,第4段就只有ttttttt了,后面的那些分别在第5至7段里了。
例如:Split(Range(&C6&), &/&)(6) 就是取第7段pppppppp
阅读权限10
在线时间 小时
我觉得楼主的主要意思是怎么解释题目中的split函数,我的理解:
a = Split(Range(&C6&), &/&, 2)(1)
函数中的“2”意思时把C6的内容分成2段,即:
“aaaaaaa”和“/ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp”
两部分,而“(1)”表示取第二部分(因为就象两位大大说的,下标时从(0)开始的)
所以楼主的“msgbox a”就应该是
/ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp 没错
如果“(1)”改为“(0)”的话,那么“msgbox a” 我想应该就是
aaaaaaa 了
其他的split分割方式应该如此类推
俺也是新手,说得不对不要砸啊。。。。::L
值得肯定 完全正确!
阅读权限20
在线时间 小时
回复 9楼 Sting_Ning 的帖子
a = Split(Range(&C6&), &/&, 2)(1)
函数中的“2”意思时把C6的内容分成2段,即:
“aaaaaaa”和“/ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp”
应该是分为如下两段:
“aaaaaaa”和“ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp”
取1就是第二段,即:“ggggggggg/rrrrrrr/ttttttt/jjjjjjjj/uuuuuuuuu/pppppppp”
a = Split(Range(&C6&), &/&, 3)(1)
a = Split(Range(&C6&), &/&, 4)(1)
a = Split(Range(&C6&), &/&, 5)(1)
a = Split(Range(&C6&), &/&, 6)(1)
上面的结果都是一样的.
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师VB操作题答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VB操作题答案
上传于|0|0|文档简介
&&仅为参考
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩18页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢11793人阅读
Mid&& 函数示例
本示例使用&& Mid&& 语句来得到某个字符串中的几个字符。
Dim&& MyString,&& FirstWord,&& LastWord,&& MidWords
MyString&& =&&& &Mid&& Function&& Demo &&&&&&&&& 建立一个字符串。
FirstWord&& =&& Mid(MyString,&& 1,&& 3)&&&&&&&&& '&& 返回&&& &Mid &。
LastWord = Mid(MyString, 14, 4) ' 返回 &Demo &。
MidWords&& =&& Mid(MyString,&& 5)&&&&&&&&& '&& 返回&&& &Funcion&& Demo &。
Left&& 函数示例
本示例使用&& Left&& 函数来得到某字符串最左边的几个字符。
Dim&& AnyString,&& MyStr
AnyString&& =&&& &Hello&& World &&&&&&&&&& '&& 定义字符串。
MyStr&& =&& Left(AnyString,&& 1)&&&&&&&&& '&& 返回&&& &H &。
MyStr&& =&& Left(AnyString,&& 7)&&&&&&&&& '&& 返回&&& &Hello&& W &。
MyStr&& =&& Left(AnyString,&& 20)&&&&&&&&& '&& 返回&&& &Hello&& World &。
Right&& 函数示例
本示例使用&& Right&& 函数来返回某字符串右边算起的几个字符。
Dim&& AnyString,&& MyStr
AnyString&& =&&& &Hello&& World &&&&&&&&&& '&& 定义字符串。
MyStr&& =&& Right(AnyString,&& 1)&&&&&&&&& '&& 返回&&& &d &。
MyStr&& =&& Right(AnyString,&& 6)&&&&&&&&& '&& 返回&&& &&& World &。
MyStr&& =&& Right(AnyString,&& 20)&&&&&&&&& '&& 返回&&& &Hello&& World &。
_______说明___________________________________
Left&& 函数
&&&&&&&&&&&&&&&&&
返回&& Variant&& (String),其中包含字符串中从左边算起指定数量的字符。
Left(string,&& length)
Left&& 函数的语法有下面的命名参数:
部分&& 说明&&&
string&& 必要参数。字符串表达式其中最左边的那些字符将被返回。如果&& string&& 包含&& Null,将返回&& Null。&&&
length&& 必要参数;为&& Variant&& (Long)。数值表达式,指出将返回多少个字符。如果为&& 0,返回零长度字符串&& ( & &)。如果大于或等于&& string&& 的字符数,则返回整个字符串。&&&
欲知&& string&& 的字符数,使用&& Len&& 函数。
注意&&&&&&&&&&& LeftB&& 函数作用于包含在字符串中的字节数据。所以&& length&& 指定的是字节数,而不是要返回的字符数。
Right&& 函数
&&&&&&&&&&&&&&&&&
返回&& Variant&& (String),其中包含从字符串右边取出的指定数量的字符。
Right(string,&& length)
Right&& 函数的语法具有下面的命名参数:
部分&& 说明&&&
string&& 必要参数。字符串表达式,从中最右边的字符将被返回。如果&& string&& 包含&& Null,将返回&& Null。&&&
length&& 必要参数;为&& Variant&& (Long)。为数值表达式,指出想返回多少字符。如果为&& 0,返回零长度字符串&& ( & &)。如果大于或等于&& string&& 的字符数,则返回整个字符串。&&&
欲知&& string&& 的字符数,用&& Len&& 函数。
注意&&&&&&&&&&& RightB&& 函数作用于包含在字符串中的字节数据。所以&& length&& 指定的是字节数,而不是指定返回的字符数。
Mid&& 函数
&&&&&&&&&&&&&&&&&
返回&& Variant&& (String),其中包含字符串中指定数量的字符。
Mid(string,&& start[,&& length])
Mid&& 函数的语法具有下面的命名参数:
部分&& 说明&&&
string&& 必要参数。字符串表达式,从中返回字符。如果&& string&& 包含&& Null,将返回&& Null。&&&
start&& 必要参数。为&& Long。string&& 中被取出部分的字符位置。如果&& start&& 超过&& string&& 的字符数,Mid&& 返回零长度字符串&& ( & &)。&&&
length&& 可选参数;为&& Variant&& (Long)。要返回的字符数。如果省略或&& length&& 超过文本的字符数(包括&& start&& 处的字符),将返回字符串中从&& start&& 到尾端的所有字符。&&&
欲知&& string&& 的字符数,可用&& Len&& 函数。
注意&&&&&&&& MidB&& 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用&& MidB的示例代码,请参阅示例主题中的第二个示例。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:538017次
积分:5500
积分:5500
排名:第3929名
原创:19篇
转载:247篇
评论:46条
(1)(1)(1)(1)(1)(2)(1)(1)(7)(7)(6)(7)(6)(4)(10)(2)(7)(9)(1)(1)(1)(1)(4)(3)(9)(13)(1)(1)(4)(2)(2)(4)(10)(22)(2)(9)(8)(15)(11)(2)(12)(8)(13)(8)(14)(13)}

我要回帖

更多关于 vb split 二维数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信