如果两个或多个单元格在其他单元格上具有相同的内容,如何合并

时间:2016-07-13 15:46:17

标签: excel vba merge-conflict-resolution

我想看看是否有更简单的方法通过if(),VBA或数组公式来合并/求和具有相同标题的单元格。我想要的是如果名称匹配,在一个单元格中将ID与“,”合并,然后将房间和SF一起合并为一行。

 ID                 Name                  Rooms    Sf
 00000121856000000  Dreadfall Apartments   123     44000
 00000121865000000  Dreadfall Apartments   115     40000
 00000121898000000  Clear Creek             22     11500
 00000121897000000  Clear Creek             22     11500
 00000121541000000  Clear Creek             23     12500

我希望它看起来像:

|00000121856000000, 00000121865000000                  | Dreadfall  Apartments  | 238 | 84000
|00000121898000000,00000121897000000, 00000121541000000| Clear Creek            |  67 | 58500

假设“ID”为A1,“Sf”为D1。非常感谢提前!

1 个答案:

答案 0 :(得分:0)

这将为你做到!!

Sub Macro()
Dim lngRow As Long
For lngRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
If StrComp(Range("B" & lngRow), Range("B" & lngRow - 1), vbTextCompare) = 0 Then
If Range("C" & lngRow) <> "" Then
Range("A" & lngRow - 1) = Range("A" & lngRow - 1) & ";" & Range("A" & lngRow)
Range("C" & lngRow - 1) = Range("C" & lngRow - 1) + Range("C" & lngRow)
Range("D" & lngRow - 1) = Range("D" & lngRow - 1) + Range("D" & lngRow)
End If
Rows(lngRow).Delete
End If
Next
End Sub