2014-01-08 183 views
1
所以我有格式的数据

一定数目的符号后:添加“ENTER”键在Word 2010中VBA宏

data1|data2|data3|data4|data5|data6|...

我希望Word把进入(断线)后,每5发生|为了结构和分离数据。

我找不到一个简单快捷的方法来做到这一点。有任何想法吗?

回答

0

使用内置的Split函数并使用vbCrLf常量重新生成数据字符串以添加换行符。

请注意,Split函数将删除分隔符,因此如果您在输出中需要它,则必须在将For循环中的字符串添加时将其添加回去。

类似以下内容可以工作:

Option Explicit 

Sub GroupDataStringByFive() 
    Dim sIn As String 
    Dim sOut As String 
    Dim sArr() As String 
    Dim iForCounter As Integer 

    sIn = "data1|data2|data3|data4|data5|data6" 

    sArr = Split(sIn, "|") 

    If IsArray(sArr) Then 
     For iForCounter = 0 To UBound(sArr) 
      If iForCounter > 0 And iForCounter Mod 5 = 0 Then 
       sOut = sOut & vbCrLf & sArr(iForCounter) 
      Else 
       sOut = sOut & sArr(iForCounter) 
      End If 
     Next iForCounter 
    End If 

    MsgBox sOut 
End Sub 
+0

完美。必须调整它从MSgBox切换到更有用的东西,但除此之外 - 100%完美。我非常感谢你的帮助:) – user3173321

+0

不客气!我总是认为MsgBox命令是有用的......;) –