vb中一个自定义函数

发布网友 发布时间:2022-04-22 05:10

我来回答

3个回答

热心网友 时间:2023-07-10 12:49

先说函数中的InStr(1, s, " 0")
意思是查找字符串" 0"在变量s中出现的第一个位置,这儿的1可以不用写,意思是从第一个字符开始查起。你要看清,这儿的" 0"是有个半角空格的。

ss = Mid(s, 1, i) & change
意思是获取从变量s的第1位开始到变量i的位置上的字符串,并加上后面的change变量。

你的sub中Text1.Text我不知道你输入了什么字符,但这里面我敢肯定是没有" 0"相关的字眼,因此在InStr(1, s, " 0")时就会出现错误,它的值为0,到了后面Mid(s, 1, i) ,怎么会从1到0的字符呢?这本身就是错误的,所以不会输出什么

然后加上后面的change,也就是你的c,也就是52了

你在Text1.Text中输入“abcdefg 0 asdf”试试,就不会只输出52了

热心网友 时间:2023-07-10 12:49

i = InStr(1, s, " 0") 注意这里。双引号里0前面有个空格哦。
所以你无论输什么,只要0前面没有空格,返回值都是52了
如下格式
1234 0456 (0前面有空格)
返回就是1234 52了

热心网友 时间:2023-07-10 12:50

回答你的问题1:
自定义函数 是 将 s 字符串 里 “ 0” 开头所有 内容 用 s 字符串 替换,前面 的 空格“ ”除外!

如 1234 012 -->1234 52

你的问题2:你编的这个小程序 没有错

回答为什么“无论a是什么数值,输出的结果都是52”?
肯定 是 你 输入 的 内容 里 没有 “ 0”!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com