|    | 
     ▼にしもり さん: 
>まず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 
 | 
     
    
   |