分享

比Substitute功能更强的批量替换文本函数NewText

 庋藏天下 2012-05-24
=NewText(A1,"A,B","C")等价于=SUBSTITUTE(SUBSTITUTE(A1,"A","C"),"B","C")
=NewText(E22,"A,C,E","JK")等价于SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E22,"A","JK"),"C","JK"),"E","JK")
Function NewText(r As String, s As Variant, Optional ss = "")
    Dim i As Integer
    Dim myRange As Range
    Dim st, rng, test
    rng = r
    Select Case VBA.TypeName(s)
    Case "String"
        st = Split(s, ",")
        For i = 0 To UBound(st)
            test = VBA.Replace(rng, st(i), ss)
            rng = test
        Next
    Case "Range"
        For Each myRange In s
            test = VBA.Replace(rng, myRange, ss)
            rng = test
        Next
    End Select
   
    NewText = test
End Function

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多