如何用VBA实现提取字符串第n个与第n+1个逗号间的文本内容
逗号分隔文本指定区间提取VBA函数
函数功能
可根据指定的前后逗号序号,从逗号分隔的文本中提取对应区间的内容,无需重复操作,适配动态数据场景,不受后续逗号数量变动影响。
VBA代码
Function ExtractByCommaPos(sourceText As String, preCommaNo As Integer, postCommaNo As Integer) As String ' 将源文本按逗号拆分为数组 Dim textArr As Variant textArr = Split(sourceText, ",") ' 参数合法性校验,避免下标越界 If preCommaNo < 0 Or postCommaNo > UBound(textArr) + 1 Or preCommaNo >= postCommaNo Then ExtractByCommaPos = "参数错误" Exit Function End If ' 返回两个指定逗号之间的内容 ExtractByCommaPos = textArr(preCommaNo) End Function
使用方法
- 打开目标Excel文件后按
Alt+F11调出VBA编辑器 - 在左侧项目栏右键点击当前工作簿名称,依次选择「插入」-「模块」
- 将上述代码粘贴到右侧的模块编辑区域,关闭VBA编辑器后,将文件保存为**Excel 启用宏的工作簿(*.xlsm)**格式
- 回到工作表界面即可直接调用函数,示例:针对内容为
117573,117573,219,219,75,75,Messi,barcelona,53780217,forward,froquen@gmail.com的A2单元格,输入=ExtractByCommaPos(A2,6,7)即可返回结果Messi
内容的提问来源于stack exchange,提问作者Talha Okatan
相关产品推荐
相关产品推荐

