如何在';文本到列';在excel中?

如何在';文本到列';在excel中?,excel,delimiter,slash,text-to-column,Excel,Delimiter,Slash,Text To Column,为什么Excel不允许我们在数据>文本到列>分隔>其他部分中使用两个斜杠 我有几行数据相似。每行还有两个连续的斜杠 我想把从两个斜杠开始的那列分开 如何操作?勾选“将连续分隔符视为一个”,在其他分隔符中输入一个斜杠,应该可以解决您的问题文本到列只能接受一个字符作为“其他”分隔符,但拆分可以将任意数量的字符分割为分隔符。只需将您自己的文本版本写入列即可 Option Explicit Sub myT2C() Dim vals As Variant, tmp As Variant, i A

为什么Excel不允许我们在数据>文本到列>分隔>其他部分中使用两个斜杠

我有几行数据相似。每行还有两个连续的斜杠

我想把从两个斜杠开始的那列分开


如何操作?

勾选“将连续分隔符视为一个”,在其他分隔符中输入一个斜杠,应该可以解决您的问题

文本到列只能接受一个字符作为“其他”分隔符,但拆分可以将任意数量的字符分割为分隔符。只需将您自己的文本版本写入列即可

Option Explicit

Sub myT2C()
    Dim vals As Variant, tmp As Variant, i As Long, j As Long, mx As Long

    With Worksheets("sheet8")
        vals = .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End(xlUp)).Value2
        For i = LBound(vals, 1) To UBound(vals, 1)
            tmp = Split(vals(i, 1), "//")
            mx = Application.Max(mx, UBound(tmp) + 1)
            ReDim Preserve vals(LBound(vals, 1) To UBound(vals, 1), 1 To mx)
            For j = LBound(tmp) To UBound(tmp)
                vals(i, j + 1) = tmp(j)
            Next j
        Next i
        .Cells(2, "A").Resize(UBound(vals, 1), UBound(vals, 2)) = vals
    End With
End Sub

可能有一个我不知道的限制;大约255个字符。

否。我想在“其他分隔符”部分输入两个斜杠。这是不允许的(如果由于某种原因而不起作用,唯一的解决方法是执行搜索和替换,用另一个分隔符替换两个斜杠,并使用所述分隔符执行文本到列拆分。如果我没有弄错,它仅限于一个分隔符。因此,您必须用新的唯一分隔符替换两个斜杠,希望它有帮助。是的,它有帮助。)d、 谢谢。但是没有直接的解决方法吗?我想不出来,分隔符限制为1个字符,没有给出宏是否可以解决这个问题的任何答案,但我认为替换方法是最“直接”的方法,