【问题标题】:concatenate two columns row wise into single cell with new line将两列逐行连接到带有新行的单个单元格中
【发布时间】:2018-02-10 15:09:27
【问题描述】:

我正在尝试开发一个名为 concall(Range1, Range2) 的用户定义函数,它可以让我首先连接 A1 和 B1 中的文本,然后添加新行,然后连接 A2 和 B2,依此类推,具体取决于范围。
假设,如果从 A1 到 A4 的数据是
一个

C
D

从 C1 到 C4 是
阿尔法
测试版
伽玛
三角洲

如果我在任何单元格中输入 concall(A1:A4, C1:C4),它应该在该单元格中显示以下内容

A – 阿尔法
B – 测试版
C – 伽玛
D – 三角洲

示例图像文件为

目前,我手动连接两列,然后使用以下代码将多行的数据连接到一个单元格。

Public Function rconc(data_range As Range)
Dim Cll As Range
For Each Cll In data_range
If Cll <> "" Then
rconc = rconc & vbCrLf & Cll
End If
Next Cll
If Len(rconc) > 0 Then rconc = Mid(rconc, 2)
End Function

【问题讨论】:

    标签: excel concatenation user-defined-functions vba


    【解决方案1】:

    怎么样:

    Public Function KonKat(r1 As Range, r2 As Range) As String
        Dim arr, brr, v As Range
        ReDim arr(1 To r1.Count)
        ReDim brr(1 To r2.Count)
    
        KonKat = ""
        i = 1
        For Each v In r1
            arr(i) = v.Value
            i = i + 1
        Next v
        i = 1
        For Each v In r2
            brr(i) = v.Value
            i = i + 1
        Next v
    
        KonKat = ""
        For i = 1 To r1.Count
            If KonKat = "" Then
                KonKat = arr(i) & "-" & brr(i)
            Else
                KonKat = KonKat & vbCrLf & arr(i) & "-" & brr(i)
            End If
        Next i
    
    End Function
    

    编辑#1:

    为避免记录中任一成员为空白的记录,请将最后一个 For 循环替换为:

    For i = 1 To r1.Count
            If arr(i) <> "" And brr(i) <> "" Then
                If KonKat = "" Then
                    KonKat = arr(i) & "-" & brr(i)
                Else
                    KonKat = KonKat & vbCrLf & arr(i) & "-" & brr(i)
                End If
            End If
     Next i
    

    【讨论】:

    • 这非常有效。这也简化了我的工作。具有挑战性的方面是在连接列数据后移动到下一行。如果有空行,则返回带有“-”的行。如果任何一行中的任何单元格为空,我们如何跳过该行?
    • @MelvinKoshy 查看我的EDIT#1
    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多