You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将解析单元格逗号分隔文本的VBA Sub改造为可返回多行结果的UDF

实现逗号分隔文本拆分的UDF代码
Function myUDF(ByVal inputCell As Range) As Variant
    ' 仅支持单个单元格作为输入
    If inputCell.Cells.Count <> 1 Then
        myUDF = CVErr(xlErrValue)
        Exit Function
    End If
    Dim inputStr As String
    inputStr = inputCell.Value
    ' 处理空值场景
    If inputStr = "" Then
        myUDF = Empty
        Exit Function
    End If
    ' 按逗号拆分字符串并转成纵向数组
    Dim arr As Variant
    arr = VBA.Split(inputStr, ",")
    myUDF = Application.Transpose(arr)
End Function

使用方法

  • 按Alt+F11打开VBA编辑器,右键点击当前工作簿→插入→模块,将上述代码粘贴到模块窗口中
  • 保存工作簿为「Excel 启用宏的工作簿(*.xlsm)」格式
  • 若使用Excel 365/2021及以上版本,直接在目标起始单元格(如B1)输入公式=myUDF(A1)即可自动向下溢出填充所有拆分结果
  • 若使用更低版本Excel,先选中足够容纳拆分结果的纵向单元格区域,输入公式后按Ctrl+Shift+Enter完成数组公式输入即可

功能验证

针对你给出的示例:

M89-76,M64-62,M76-80
在B1输入=myUDF(A1)后,会自动在B1、B2、B3三个单元格分别返回三个拆分后的编码,完全符合需求。

内容的提问来源于stack exchange,提问作者user17534812

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:57:00