使用excel中的回车分隔符提取多个子字符串

时间:2014-04-25 08:44:42

标签: excel excel-vba vba

这个论坛包含了关于如何将Excel中的单元格分成两个单元格的几个帖子,但是我有一个问题是有> 10个名字,所有名称都由回车符分隔,我需要在单独的单元格中拆分。

例如,随机单个单元格可能如下所示,每个名称都位于单元格中的单独一行:

LastNameA, Donald E.
LastNameB, Edward N., Jr.
LastNameC-Johnson, Susan
LastNameD, Denis A., III
LastNameE, L. Michael

etc.

有人知道这在Excel中是否可行?我可以添加一个图形来进一步证明这个问题。

1 个答案:

答案 0 :(得分:1)

试试这个。请参阅内联注释以获取解释

Sub SplitDemo()
    Dim rngIn As Range
    Dim rngOut As Range
    Dim NewData As Variant

    ' Get a reference to your input cell by any means you choose
    Set rngIn = [A1]

    ' Split the data on the Linefeed character
    '  this creates a 0 based, one dimensional array
    NewData = Split(rngIn.Value, vbLf)

    ' Get a reference to your output cell by any means you choose
    Set rngOut = [A2]

    ' To put split data array in a row, use
    rngOut.Resize(1, UBound(NewData) + 1).Value = NewData

    ' To put split data array in a column use
    rngOut.Resize(UBound(NewData) + 1).Value = Application.Transpose(NewData)
End Sub