我正在尝试编写一个宏,它将在一列中选择相同的所有值,移过两列,然后将这些单元格中的所有数据合并为一列。然后我需要重复它直到所有内容结合起来。
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
答案 0 :(得分:0)
尝试一下,它有单独的输入和输出表:
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