Excel 如何成对拆分字符串

Excel 如何成对拆分字符串,excel,vba,string,split,Excel,Vba,String,Split,我想把下面的字符串分成两部分。使用当前代码,我只能将字符串拆分为单个字符 Sub SplitinPair() Dim str str = "5C61AA79" str = StrConv(str, vbUnicode) str = Left(str, Len(str) - 1) Debug.Print str End Sub 电流输出为 5 C 6 1 A A 7 9 我想要的结果是这样的: 5C 61 AA 79 如何做到这一点?一个选项是一个简单的循

我想把下面的字符串分成两部分。使用当前代码,我只能将字符串拆分为单个字符

Sub SplitinPair()
Dim str

    str = "5C61AA79"
    str = StrConv(str, vbUnicode)
    str = Left(str, Len(str) - 1)

    Debug.Print str
End Sub
电流输出为

5 C 6 1 A A 7 9
我想要的结果是这样的:

5C 61 AA 79

如何做到这一点?

一个选项是一个简单的循环:

Private Sub SplitinPair()
   Dim str As String
   Dim str2 As String
   Dim i As Integer

   str = "5C61AA79"

   For i = 1 To Len(str) Step 2
      str2 = str2 & Mid(str, i, 2) & " "
   Next

   Debug.Print str2
End Sub

一个选项是一个简单的循环:

Private Sub SplitinPair()
   Dim str As String
   Dim str2 As String
   Dim i As Integer

   str = "5C61AA79"

   For i = 1 To Len(str) Step 2
      str2 = str2 & Mid(str, i, 2) & " "
   Next

   Debug.Print str2
End Sub

此方法假设字符数为偶数,这与十六进制对的情况相同。如果可能遇到奇数字符集,请添加一些错误控制

Option Explicit

Sub SplitinPair()
    Dim str, tmp As Variant, i As Long

    str = "5C61AA79"
    str = StrConv(str, vbUnicode)

    tmp = Split(Left(str, Len(str) - 1), Chr(0))
    str = vbNullString

    For i = LBound(tmp) To UBound(tmp) Step 2
        str = str & tmp(i) & tmp(i + 1) & Space(1)
    Next i

    str = Trim(str)

    Debug.Print str
End Sub

此方法假设字符数为偶数,这与十六进制对的情况相同。如果可能遇到奇数字符集,请添加一些错误控制

Option Explicit

Sub SplitinPair()
    Dim str, tmp As Variant, i As Long

    str = "5C61AA79"
    str = StrConv(str, vbUnicode)

    tmp = Split(Left(str, Len(str) - 1), Chr(0))
    str = vbNullString

    For i = LBound(tmp) To UBound(tmp) Step 2
        str = str & tmp(i) & tmp(i + 1) & Space(1)
    Next i

    str = Trim(str)

    Debug.Print str
End Sub

嗨,照你说的做是行不通的。我删除一个字符来删除不需要的尾随字符。嗨,按照你说的做是行不通的。我删除了一个字符来删除不需要的尾随字符,效果很好<代码>第2步在这种情况下,它似乎有很大帮助。很多人工作得很好<代码>第2步在这种情况下,它似乎有很大帮助。许多人感谢您分享另一个解决方案。当字符数为偶数时,它可以像您所说的那样正常工作。感谢您分享另一个解决方案。当字符数为偶数时,它可以像您所说的那样正常工作。