重複した行をマージするマクロを Excel で作成しました。
アイデアは、2 行以上に同じ ABC 列がある場合、それらの D 列をマージして ABC の重複を削除するというものです。これを行う必要がありますが、より多くの列をチェックしています。
私のマクロは次のようになります。
processingRow = 2
Do Until Cells(processingRow, 1).Value = ""
i = processingRow + 1
Do Until Cells(i, 1).Value = ""
If Cells(processingRow, 8) = Cells(i, 8) And _
Cells(processingRow, 12) = Cells(i, 12) And _
Cells(processingRow, 7) = Cells(i, 7) And _
Cells(processingRow, 6) = Cells(i, 6) And _
Cells(processingRow, 5) = Cells(i, 5) And _
Cells(processingRow, 4) = Cells(i, 4) And _
Cells(processingRow, 3) = Cells(i, 3) And _
Cells(processingRow, 2) = Cells(i, 2) And _
Cells(processingRow, 1) = Cells(i, 1) Then
If Cells(i, 14) <> "" Then
Cells(processingRow, 14) = Cells(processingRow, 14) & "," & Cells(i, 14)
End If
Rows(i).Delete
End If
i = i + 1
Loop
processingRow = processingRow + 1
Loop
500 行でマクロを実行すると、しばらく時間がかかりますが、それでも妥当です。しかし、このマクロを 2500 行を超える Excel で実行する必要があり、時間がかかりすぎて実用的ではなくなりました。
これは、VBA を使用した Excel での最初のマクロです。個別にアクセスすると非常に遅いように見えるため、行/セルを処理するより高速な方法があるかどうか疑問に思っていました。
何か案は?