-5

列 (私の場合は列 E) をループして重複を見つける Excel マクロが必要です。重複が見つかったら、最初の重複行の左端の 2 つのセルをコピーし、2 番目の重複行に貼り付けます。

これが私が話していることの具体的な例です:

これは、マクロの前のワークシートです。

     A      B      C      D      E
1    A11    B11    C11    D11    Text1
2    A22    B22    C22    D22    Text2
3    A33    B33    C33    D33    Text3
4
5
6
7                                Text3
8                                Text2

列 E に重複があることを検出し、重複行の最初の反復の左端の 2 つのセルをコピーして、2 番目の反復に貼り付けます。つまり、Text3 の行から A33 と B33 をコピーし、後者の Text3 の行に貼り付ける必要があります。Text2 と同じです。したがって、マクロが実行された後、ワークシートには次のように表示されます。

     A      B      C      D      E
1    A11    B11    C11    D11    Text1
2    A22    B22    C22    D22    Text2
3    A33    B33    C33    D33    Text3
4
5
6
7    A33    B33                  Text3
8    A22    B22                  Text2
4

1 に答える 1

0
Sub main()
Dim hold As New Collection
For Each celli In Columns(5).Cells
On Error GoTo raa
If Not celli.Value = Empty Then
hold.Add Item:=celli.Row, key:="" & celli.Value
End If
Next celli
On Error Resume Next
raa:
Range("a1:b1").Offset(celli.Row - 1, 0).Value = Range("a1:b1").Offset(hold(celli.Value) - 1, 0).Value
Resume Next
End Sub
于 2013-08-15T15:54:12.463 に答える