通过VBA在excel中添加3个字符后的空格

时间:2016-09-22 12:01:24

标签: excel vba excel-vba

是否有一些函数可以在Excel vba中每三个字符后添加一个空格? 列标题的名称是" POST"

2 个答案:

答案 0 :(得分:2)

你有什么尝试?这是一种方法 - note :在使用之前检查您是否理解代码总是好的

Function AddSpace(rng As Range) As String
    Dim i As Integer
    Dim str As String

    For i = 1 To Len(rng.Value) Step 3
       str = str & " " & Mid(rng.Value, i, 3)
    Next i

    AddSpace = Mid(str, 2)
End Function

对于单元格 A1 中的字符串,请使用公式=ADDSPACE(A1)根据需要拆分字符串。以下示例

enter image description here

编辑:稍微更新一下代码 - 感谢Tyeler

答案 1 :(得分:2)

由于Callum已经为您提供了一些代码,我将把它留给今后可能遇到它的任何人。这与Callum的代码完全相同,但不是在函数中引用不同的单元格,而是放入字符串。

实施例。在单元格A1中,您可以放置​​=AddSpace("mystring"),它会将A1中的值返回为mys tri ng。只是一个选择。

Function AddSpace(Strng As String) As String
    Dim t As String, i As Long
    For i = 1 To Len(Strng) Step 3
        t = t & " " & Mid$(Strng, i, 3)
    Next i
    AddSpace= Mid$(t, 2)
End Function