VBAを使用してExcelで重複するセル値をマージしようとしています。データの例を次に示します。
Col1 Col2
run 1
run 2
see 9
go 5
see 1
データが次のようになるように、この情報をマージする必要があります。
Col1 Col2
run 3
see 10
go 5
つまり、列1の重複する値をマージし、列2の対応する値を合計する必要があります。
私はすでにここで同様の状況を調べて試しました:VBAを使用してExcelで同様の行を合計/マージする方法は?
推奨事項の1つは、次のマクロでした。
Sub Macro1()
Dim ColumnsCount As Integer
ColumnsCount = ActiveSheet.UsedRange.Columns.Count
ActiveSheet.UsedRange.Activate
Do While ActiveCell.Row <= ActiveSheet.UsedRange.Rows.Count
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
For i = 1 To ColumnsCount - 1
ActiveCell.Offset(0, i).Value = ActiveCell.Offset(0, i).Value + ActiveCell.Offset(1, i).Value
Next
ActiveCell.Offset(1, 0).EntireRow.Delete shift:=xlShiftUp
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub
ただし、実際には何もマージせずに、Excelがクラッシュする無限ループを作成しているようです。
必要なマージソリューションに到達するためにこのコードをどのように適応させることができるかについて誰かが何か提案がありますか?