Excel VBA UDF为字符串中的每个字符添加前缀

时间:2015-06-12 13:46:50

标签: excel excel-vba vba

我正在寻找一种方法来获得一个UDF,我可以在其中添加一个单元格referance将添加" _"在每个角色前加上下划线。

例如" TEST"在单元格中,UDF结果将是" _T_E_S_T"

3 个答案:

答案 0 :(得分:1)

一个简单的方法就是

Function addUndescore(c As range)
Dim x As String
x = "_" & Mid(c, 1, 1)
For i = 2 To Len(c)
    x = x & "_" & Mid(c, i, 1)
    Next i
    addUndescore = x
End Function

使用formula = addUndescore(你的ref cell)

答案 1 :(得分:1)

怎么样:

Public Function UnderScore(sIN As String) As String
   Dim i As Long
   UnderScore = ""
   For i = 1 To Len(sIN)
      UnderScore = UnderScore & "_" & Mid(sIN, i, 1)
   Next i
End Function

答案 2 :(得分:1)

略有不同的版本:允许用户可选地更改前缀 AddPrefix(" TEST")返回" _T_E_S_T"但 AddPrefix(" TEST"," /")返回" / T / E / S / T"

Function AddPrefix(text As String, Optional prefix As Variant) As String
    If IsMissing(prefix) Then prefix = "_"
    Dim s As String, i As Long, n As Long
    n = Len(text)
    s = ""
    For i = 1 To n
        s = s & prefix & Mid(text, i, 1)
    Next i
    AddPrefix = s
End Function