【问题标题】:Extract multiple substrings with carriage return separator in excel在excel中使用回车分隔符提取多个子字符串
【发布时间】:2014-04-25 17:12:42
【问题描述】:

此论坛包含有关如何将 Excel 中的一个单元格分成两个单元格的所有帖子,但我遇到了一个问题,即超过 10 个名称,全部由回车符分隔,我需要将其拆分为单独的单元格。

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

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

etc.

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

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试试这个。解释见内联 cmets

    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
    

    【讨论】:

    • 非常感谢,我以前从未使用过 VBA,但每次观察都能很好地工作!有没有办法把它变成一个函数?
    猜你喜欢
    • 2019-04-27
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 2020-09-23
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多