2016-09-22 136 views
-4

Excel vba中每三個字符之後是否有一些空格添加空格? 列標題的名稱是「POST」在excel中添加3個字符後用VBA添加空格

+3

是的,你可以用'Mid'來創造性地實現這個目標。但是[so]不是一個免費的編碼服務,而是我們在這裏幫你弄清楚爲什麼你的代碼出錯了,或者沒有做到你所需要的。因此,爲了讓我們幫助你糾正你的代碼,你必須已經嘗試過解決這個問題並且證明這一點......如果你展示你已經嘗試過的東西,你會發現它很可能會被提供你需要的幫助。 – Dave

+0

我已經嘗試使用查找和替換。找 ???並替換??? ??。但它不起作用。 – Heresh

+0

在VBA中,您可以使用'Range.Find'方法很容易地找到您的列;和正則表達式進行插入。如果在該行的末尾出現該組,則不需要三個字符組之後的空格,這很容易添加到正則表達式中。嘗試一下,如果遇到問題,請回復。 –

回答

2

你試過了什麼?這是去做一個辦法 - :這是一件好事,檢查你理解的代碼使用它

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

2

由於卡勒姆已經與一些代碼提供你,在這裏我要離開這個的人誰在將來可能會遇到它。這和Callum的代碼一樣,但不是在函數中引用不同的單元格,而只是放入字符串。

Ex。在單元格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 
相關問題