| 
    
     |  | Sortを使っては如何でしょうか? 対象の範囲の左に作業用(Sort時のキーに使う)列を用意し、
 その列でSortした時に、空白セルが下方に纏まるような状態を作り出します。
 
 以下が例です。
 解読してみて下さい。
 
 Sub sample()
 Dim r As Range, c As Range
 Set r = Range("A1:A8")
 r.EntireColumn.Insert xlShiftToRight
 With r.Offset(, -1)
 .Item(1).Value = 1
 .DataSeries
 '    For Each c In r
 '      If IsEmpty(c) Then c.Offset(, -1).ClearContents
 '    Next
 On Error Resume Next
 r.SpecialCells(xlCellTypeBlanks).Offset(, -1).ClearContents
 On Error GoTo 0
 .Resize(, 2).Sort Key1:=.Columns(1), Order1:=xlAscending, _
 Header:=xlNo, Orientation:=xlTopToBottom
 .EntireColumn.Delete xlShiftToLeft
 End With
 End Sub
 
 
 |  |