如何在excel中垂直组合单元格

时间:2017-10-04 06:59:52

标签: excel vba excel-vba excel-formula excel-2010

这可能是地球上最愚蠢的问题。如何以重复方式垂直合并两个单元格值。像这样:

enter image description here

A栏和B栏有400多个单元,因此不可能按照我想要的方式手动完成。

注意:我想将B合并为A。

2 个答案:

答案 0 :(得分:3)

您可以在VBA中创建一个简单的循环,该循环遍历数据范围中的每个单元格,然后将其添加到输出列

Sub Merge()

Dim data As Range
Dim cell As Range
Dim output As Range
Dim i As Integer

Set data = Range("A2:B4")
Set output = Range("D2")
i = 0

For Each cell In data
    output.Offset(i, 0) = cell
    i = i + 1
Next

End Sub

答案 1 :(得分:0)

您可以使用INDEX函数来引用每个单元格。如果数据在A2:B4中,则此公式适用于任何列但必须从第2行开始,然后可以填充:

=INDEX($A$2:$B$4,ROW()/2,MOD(ROW(),2)+1)

公式使用当前行作为计数器。在每个偶数行上,它从第一列数据中获取值,在每个奇数行上,它从第二列数据中获取值。在每2行之后,它从下一行数据中获取值。