使用vba将带有垂直制表符的字符串拆分为分隔符

时间:2016-03-11 03:28:37

标签: arrays excel vba excel-vba

如何在垂直制表符作为分隔符的vba中拆分字符串。

>>> v1 = {0:1, 1:3, 2:1}
>>> v2 = {0:1}
>>> add_sparse_vectors(v1, v2)
{0:2, 1:3, 2:1}
#Note the lack of spaces between the colon and the value in each pair.

我试图搜索等效的char,但它返回char(103)的错误

它表示类型不匹配。

1 个答案:

答案 0 :(得分:2)

垂直制表符字符为ASCII& H0B十六进制或011dec¹。 VBA使用ChrAsc函数,而工作表使用CHARCODE函数。

您的语法在很大程度上是正确的,但对于您实际工作的内容存在一些疑惑。您从字符串常量和字符串变量(例如strWriters)开始,然后立即丢弃它们并使用Selection.Text

Sub how2split()
    Dim str As String, strWriters As String, a As Long, LArray As Variant

    str = "Richenn M." & Chr(&HB) & "QA'er:"
    'alternate
    'str = Join(Array("Richenn M.", "QA'er:"), Chr(&HB))

    Debug.Print str

    LArray = Split(str, Chr(11))

    For a = LBound(LArray) To UBound(LArray)
        Debug.Print LArray(a) & " is at position " & a
    Next a
End Sub

Debug.Print命令将输出发送到VBE的Immediate window

¹ ASCII 103是小写G(例如Chr(103)产生g)。