如何重复连接excel中的列

问题描述 投票:0回答:3

我在excel表中有256列。我需要通过合并成对的列将它们带到128列。如何重复整个工作表中连接两个单元格的过程

例如:

Col | Col2  | Col3 | Col4

1:  | 45    |  2:  |  556

1:  | 34    |  2:  |  567

现在我的预期结果是

Col1 | Col2

1:45 | 2:556

1:34 | 2:567

如何在Excel中执行此操作?

我可以使用VBA吗?

excel vba excel-vba concatenation
3个回答
1
投票

使用公式(在下面的图像中的单元格A4

=OFFSET(A1, , COLUMN()-1)&OFFSET(B1,,COLUMN()-1)

Example


2
投票

使用简单的公式= A2和B2添加两列。复制下来。然后复制结果公式列并粘贴特殊值以摆脱公式。


2
投票

假设范围是“A1:IV1000”(改为你需要的)。最后清除原始范围并转储结果数组。

Sub ConcatColumns()

    Dim rng As Range
    Dim x As Long, c As Integer, z As Integer
    Dim arr, arrResult
    Const COLS As Integer = 256

    Set rng = Range("A1:IV100") '//256 columns
    arr = rng.Value
    ReDim arrResult(1 To UBound(arr, 1), 1 To COLS / 2)
    For x = 1 To UBound(arr, 1)
        z = 1
        For c = 1 To COLS - 1 Step 2
            arrResult(x, z) = arr(x, c) & arr(x, c + 1)
            z = z + 1
        Next
    Next

    rng.ClearContents '//Clear all previous data
    Range("A1").Resize(UBound(arrResult, 1), UBound(arrResult, 2)).Value = arrResult '//Dump result

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.