Excel 识别和组合多个单元

Excel 识别和组合多个单元,excel,excel-2010,vba,Excel,Excel 2010,Vba,我正在尝试编写一个宏,它将选择一列中所有相同的值,跨两列移动,然后将这些单元格中的所有数据合并为一个。然后我需要它重复,直到一切都结合起来 1 122 1 121 2 351 3 351 3 352 4 176 9.1 350 10 351 10 352 如果这是我们的原始数据,我需要选择第一列中1的所有值,将我的选择偏移两列,然后将这些单元格合并为一列。然后,我需要在A列上运行复制函数,以删除所有备用单元格,并给出一个直接列表。

我正在尝试编写一个宏,它将选择一列中所有相同的值,跨两列移动,然后将这些单元格中的所有数据合并为一个。然后我需要它重复,直到一切都结合起来

1     122
1     121
2     351
3     351
3     352
4     176
9.1   350
10    351
10    352
如果这是我们的原始数据,我需要选择第一列中1的所有值,将我的选择偏移两列,然后将这些单元格合并为一列。然后,我需要在A列上运行复制函数,以删除所有备用单元格,并给出一个直接列表。我希望它能像这样:

1     122, 121
2     351
3     351, 352
4     176
9.1   350
10    351, 352
更重要的是,对于A列(因为我们有不同数量的组)和B列(因为每个组中有不同数量的值)中未知数量的值,这种情况需要发生未知次数

任何帮助都将不胜感激

谢谢,


Allan Ramsay

试试看,它有单独的输入和输出表:

Sub RePackage()
    Dim N As Long, K As Long, i As Long
    Dim s1 As Worksheet
    Dim s2 As Worksheet
    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    s2.Range("B:B").NumberFormat = "@"
    N = s1.Cells(Rows.Count, "A").End(xlUp).Row
    s2.Cells(1, 1).Value = s1.Cells(1, 1).Value
    s2.Cells(1, 2).Value = s1.Cells(1, 2).Text
    v = s1.Cells(1, 1).Value
    K = 1
    For i = 2 To N
        If s1.Cells(i, 1).Value = v Then
            s2.Cells(K, 2).Value = s2.Cells(K, 2).Text & "," & s1.Cells(i, 2).Text
        Else
            K = K + 1
            s2.Cells(K, 1).Value = s1.Cells(i, 1).Value
            s2.Cells(K, 2).Value = s1.Cells(i, 2).Text
            v = s1.Cells(i, 1).Value
        End If
    Next i
End Sub

你尝试过任何代码吗?如果你尝试过,请发布它。嘿,艾伦——当然我不知道这在你的业务流程中的位置,但是如果你没有通过这个“重新编码”其他程序的信息您可能希望签出Excel的内置功能“透视表”。透视表可以通过对行进行分类来帮助您以这种方式可视化数据: