VBA 开发截取字符串 例如 123-321 截取“-”之前的字符串和“-” 之后的字符串,被截取的字符串长度不一

VBA开发截取字符串,被截取的字符串长度不一,是设置错误造成的,解决方法如下:

1、首先在电脑中打开表格软件,然后在开发工具中打开VBA编辑器。

2、然后在单元格区域当中,输入一些自己想进行操作的内容。

3、然后在VBA编辑器中,点击页面上方的插入-模块选项。

4、然后在打开的模块页面当中,输入如下代码,然后运行。

5、最后结果,如图所示数据,若用Find查找“人”的排序,结果应为3;而本工具从右开始查找,则在单元格B1中输入公式“=FindR("人",A1)”,结果为5,就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-13
有几个办法,用instr 函数查 找“-” 字符在字符串中的位置,再用MID 或left 或 right函数取值
第二个办是用数组

dim arr,s
s="123-321"
arr=split(s,"-")
msgbox arr(0)
msgbox arr(1)
第2个回答  推荐于2017-09-04
截取“-”之前的字符串
Mid("111-222", 1, (InStr("111-222", "-") - 1))

截取“-” 之后的字符串
Mid("111-222", (InStr("111-222", "-") + 1), (Len("111-222") - InStr("111-222", "-")))

我这里测试OK本回答被提问者采纳
相似回答