|
▼にしもり さん:
>まずNレコード目とN+1レコード目の#を比べ同じかをみます。(上記では#111が2個あります。)
>同じだったら
>そして(この場合、)3行目をDELETEします。
>なお、同じ#は2個とは限りませんが#昇順になっています。
行削除は下からやるのが定石です。
そして、1行化作業は シート上でやると思い処理になるので、
配列とかでやったほうが効率いいと思います。
以下は、非表示ComboBox1のリスト内で (重複)行削除するものです
Sub Try1()
Dim r As Range
Dim v
Dim i As Long
Set r = Sheets(1).Cells(1).CurrentRegion
v = r.Value
With CreateObject("Forms.ComboBox.1")
.List = v
For i = .ListCount - 1 To 2 Step -1
If .List(i, 0) = .List(i - 1, 0) Then
.List(i - 1, 5) = .List(i - 1, 5) & vbLf & .List(i, 5)
.List(i - 1, 6) = .List(i - 1, 6) & vbLf & .List(i, 6)
.RemoveItem i
End If
Next
r.ClearContents
r.Resize(.ListCount, 13).Value = .List
End With
Beep
End Sub
|
|